fix(ci): accept Linker meta.json schema 3 in the recovery snapshot verifier - #25
Merged
Merged
Conversation
…rifier The recovery build 34021998271 (relink_recovery_run_id=34021656701) failed at Phase-2 with "recovery snapshot comparison requires schema 2": the Linker has written meta.json with schema_version 3 since a9ae2d4 (2026-08-31), while the verifier (b1c24ca, 2026-08-30) pinned schema 2 for both the payload meta and the line-baseline manifest. The only meta field the verifier reads, snapshot.sha256, did not change in schema 3; the line baseline is still schema 2. Accept payload meta schema 2 or 3, keep the baseline at 2, and name the offending schema in the error. Tests cover schema 3 passing and unknown schemas failing. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.
Why
Recovery build 34021998271 (recovering the failed v27 attempt 33991433362 via relink-recovery run 34021656701) failed in "Apply LINKER links (Phase-2)" with:
The rebuilt snapshot is not byte-identical to the linked one (5,840,281,600 vs 5,840,633,856 bytes decompressed), so the build correctly took the semantic-comparison path. That path pins the Linker
meta.jsontoschema_version == 2, but LinkerToOtzaria has writtenschema_version: 3since a9ae2d4 (2026-08-31), one day after the verifier was written. The only field the verifier reads from the meta,snapshot.sha256, is unchanged; the line-baseline manifest is still schema 2.What
verify_relink_recovery_snapshot.py: accept payload meta schema 2 or 3 (PAYLOAD_META_SCHEMAS), keep the baseline at 2 (BASELINE_SCHEMA), and say which schema was rejected.QA
test_verify_relink_recovery_snapshot.py: 13 passed (10 existing + 3 new).test_manual_release_workflow.py: 35 passed.The control scripts are checked out at
github.sha, so re-dispatching the recovery build after merge picks this up without changing the pinnedsource_commit.🤖 Generated with Claude Code