Repository navigation
Pin extraction marker failure paths, the not-published list and Qwen3.5 structured parse - #1605
Merged
Merged
Conversation
….5 structured parse Marker: a failed write removes its .tmp and rethrows the original error, even when the cleanup itself fails (#1584 audit A3, A5, A8). The not-published list names the hook's stable_diffusion bundles (A9). Genkit: Qwen3.5 with thinking off keeps a thought in the content, as the migration guide says.
Contributor
|
Chat app preview removed for |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Tests only, for the #1565 carry-overs in the 0.17.1 plan #922:
.tmpremoves it and rethrows the original error, including when the cleanup fails too.IOOverridessupplies the failure; no real directory permission can fail a write after the file exists.resolveNativeBundleSpecandstableDiffusionBundleForNativeBundleproduce, so it follows the hook rather than a copied string.doc/migration.md, from #1587): through the Genkit model action and the vendored template, thinking off keeps<think>…</think>{...}as content and fails withfailedPrecondition, thinking off returns plain JSON, and thinking on returns reasoning and JSON. Upstream values for this template are intest/fixtures/closed_thought_upstream.json(llama.cpp620d2225).The LFM2 grammar carry-over is a separate PR because it is high-risk.
Production-readiness scope
../../test/fixtures/templates/Qwen3_5-0_8B.jinja, which every CI lane has because each runs inside the checkout.Completeness checklist
PR type guidance
Test Plan
dart run tool/prepare_workspace.dartdart format --output=none --set-exit-if-changedon the changed filesdart analyzeon the changed files;dart analyze --fatal-infoson the Genkit testdart test -p vm:native_extraction_marker_test.dart,stable_diffusion_runtime_io_test.dart,mirrored_unit_structure_test.dart,hook_cache_isolation_test.dartparses_structured_output_from_its_render_test.dartMatrix Evidence
genkit-contractstry.tmprethrowreplaced by a new exceptionsame(failure)).tmpthat cannot be deleted does not hide the write errorlinux-arm64model_actionparses by format instead of by renderReview Notes
3a7ed8bae.High-risk regression review