Skip to content

fix(ci): accept Linker meta.json schema 3 in the recovery snapshot verifier - #25

Merged
Y-PLONI merged 1 commit into
otzariafrom
fix/recovery-verifier-meta-schema-3
Sep 6, 2026
Merged

fix(ci): accept Linker meta.json schema 3 in the recovery snapshot verifier#25
Y-PLONI merged 1 commit into
otzariafrom
fix/recovery-verifier-meta-schema-3

Conversation

@palmoni5

@palmoni5 palmoni5 commented Sep 6, 2026

Copy link
Copy Markdown
Member

Why

Recovery build 34021998271 (recovering the failed v27 attempt 33991433362 via relink-recovery run 34021656701) failed in "Apply LINKER links (Phase-2)" with:

recovery snapshot comparison requires schema 2

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.json to schema_version == 2, but LinkerToOtzaria has written schema_version: 3 since 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.
  • Tests: meta schema 3 passes; meta schema 4 and baseline schema 3 fail.

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 pinned source_commit.

🤖 Generated with Claude Code

…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>
@Y-PLONI
Y-PLONI merged commit 13c8efa into otzaria Sep 6, 2026
3 checks passed
@palmoni5
palmoni5 deleted the fix/recovery-verifier-meta-schema-3 branch September 6, 2026 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants