docs: refresh legacy snapshot provenance after the history rewrite - #288
Merged
Conversation
The master history rewrite gave every commit a new SHA and moved the version tags to match, but docs/legacy/manifest.json still pinned the old, now-orphaned tag_commit values. check:legacy-snapshots resolves each tag and compares, so the docs workflow failed on every run. Refresh the 22 tag_commit values to the tags' current commits and regenerate the snapshots so their provenance headers cite the same commits. The content-addressed guards are untouched and still pass: all 44 documentation_source_tree_hash / python_source_tree_hash values match as before, confirming the rewrite preserved content exactly. No documentation prose changed — the diff is provenance headers and the derived snapshot hashes only.
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.
Problem
The docs workflow has been failing on every run at Verify immutable historical snapshots:
The master history rewrite gave every commit a new SHA and the version tags were moved to the new commits, but
docs/legacy/manifest.jsonstill pinned the old (now unreachable)tag_commitvalues.port_legacy_docs.py checkresolves each tag and compares against the manifest, so it failed before reaching any snapshot work. All 22 legacy versions were affected, not just 2.0.0.Fix
tag_commitvalues to the commits the tags now point at.port_legacy_docs.py generate) so each page's provenance header cites the same commit, plus the derivedgenerated_snapshot_tree_hashvalues.Why this is safe
The rewrite preserved content exactly — the 2.0.0 commits
ab4d7f0and9e9a4cahave identical trees. The manifest's content-addressed guards are untouched and still pass: all 44documentation_source_tree_hash/python_source_tree_hashvalues match as before, so the immutability guarantee that matters (the historical docs' content) is fully intact and still enforced.Every changed line is a provenance header or a derived hash — no documentation prose changed:
<!-- Generated by port_legacy_docs.py … -->)tag_commitgenerated_snapshot_tree_hashVerification
check:legacy-snapshots→ Verified 22 immutable historical snapshots (was failing)test:legacy-fixture→ deterministic v1.0.0 fixture hash unchanged:4388d8b9…Unblocks #287, which was red for this pre-existing reason rather than anything in its own change.
🤖 Generated with Claude Code