Repository navigation
Conversation
…ready has a legacy seal remint_wants() skipped REBUILD_MISSING when the spec had a seal, on the reasoning that such a spec is missing only through an import. In fact a legacy v1 seal records no closure, toolchain or config, so those specs sit in the missing group until they are sealed again. #10250 had to reseal 279 of them with direct `t27c seal --save` runs and apply remint_keeps by hand. remint_wants now names every MISSING spec. The guards are unchanged and still decide the outcome: remint_keeps keeps only a schema 2, failed=0, unforced, non-vacuous seal in a file the spec owns; `seal --save` itself still refuses a regression (blocked_reseal_allowed) and a new producer over silicon receipts (silicon_queue::reseal_allowed); on any refusal the old seal is written back. Test blocks: the MISSING-with-seal case flips, plus blocks for the keep conditions and the regression guard. bootstrap/gen/rust/verified/seal_identity.rs is regenerated by t27c gen-rust and the spec's own seal is renewed. Measured on the Railway lab (master c0d0501): a partial, interrupted `frontier --reseal` over 48 specs moved reuse 627 -> 644 permille and the toolchain group 29 -> 2. The full run is not part of this change. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
This was referenced Oct 18, 2026
Merged
Merged
Merged
This was referenced Oct 18, 2026
Merged
Merged
This branch has not been deployed
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.
What
t27c frontier --resealnever resealed a spec in themissinggroup that already had a legacy v1 seal, becausesi::remint_wants(decision, has_seal)inspecs/verified/seal_identity.t27returnedhas_seal == falseforREBUILD_MISSING. #10250 had to work around this with directt27c seal <spec> --saveruns plusremint_keepsapplied by hand (279 specs).Change
remint_wantsnow names everyMISSINGspec, sealed or not. The rest of the rule is unchanged (REUSEis still left alone).remint_keepskeeps the new seal only for schema 2, failed=0, not forced, non-vacuous, in a file the spec owns; otherwise the old seal is written back.seal --saveitself still refuses a regression (blocked_reseal_allowed) and a new producer over silicon receipts (silicon_queue::reseal_allowed); the refusal makessealedfalse, so the old seal is restored.same()check).t27c-generatedbootstrap/gen/rust/verified/seal_identity.rsis regenerated witht27c gen-rust, and the spec's own seal is renewed. No hand-written Rust.MISSING+ sealed case flips totrue; new blocks cover the keep conditions and the regression guard.silicon_queue::reseal_allowedis already covered insilicon_queue.t27and lives inmain.rs, so it is not duplicated here.Measured (Railway lab, master c0d0501)
t27c test-report specs/verified/seal_identity.t27: 17 tests, 0 failed, 0 vacuous.frontier --reseal(interrupted after 48 specs resealed) moved reuse 627 -> 644 permille, toolchain group 29 -> 2. The full run (456 missing specs; the compiling ones took about a minute each late in the partial run) is deliberately not part of this PR.MISSINGspec is now attempted, including the ones that do not compile. Those fail fast insealand keep their old seal.🤖 Generated with Claude Code