fix(registry): rebuild muninn-bsky-card page — env-vars drift from manifest#58
Merged
Merged
Conversation
…ed from manifest The 2026-07-09 14:10Z federation-sync mirrored an updated muninn-bsky-card manifest (new BSKY_HANDLE / BSKY_APP_PASSWORD Environment section) without rebuilding the committed page, so the 'registry pages match a fresh build' check reds every PR. Same class as #54/#55. Claude-Session: https://claude.ai/code/session_01WQAhb3Xjq1mMwf1My4YeEP
… pins from index.html) build_registry_pages.py --check stamps rebuilt pages with the timestamp read from committed registry/index.html, so a partially rebuilt page must carry that same stamp, not its own build time (the #55 lesson, relearned). Claude-Session: https://claude.ai/code/session_01WQAhb3Xjq1mMwf1My4YeEP
drknowhow
added a commit
that referenced
this pull request
Jul 9, 2026
…— kills the drift class (#59) * fix(federation): sync rebuilds pages from committed manifest mirrors — kills the drift class Root cause of the recurring registry-drift reds (#54, #55, #58): the page builder live-fetched remote manifests, so the CI drift check was a function of whatever publishers were serving at check time — any upstream manifest edit redded every PR until someone hand-rebuilt the page. federation-sync only ever committed manifests.json, never pages. Fix: - mirrors/manifests/<id>.json: committed byte-exact mirror of every non-self-hosted manifest; _load_manifest prefers it over live fetch, making builds (and --check) hermetic. - build_registry_pages.py --refresh: refetch mirrors, rebuild pages only when content changed (stamps pinned otherwise, so no-change days are byte-identical and the workflow opens no PR). - federation-sync workflow: runs --refresh after the manifest sync and commits manifests.json + mirrors/ + registry/ atomically; diff gate switched to git status --porcelain so new files count. - Seeded mirrors + rebuilt pages in this commit (one-time stamp churn: 'Last fetched ... (mirror)' + fresh 'Pages generated'). Verified: --refresh idempotent on second run; --check green against the rebuilt tree; 36/36 tests pass. Claude-Session: https://claude.ai/code/session_01WQAhb3Xjq1mMwf1My4YeEP * fix: mirrors/** -text — mirror bytes must survive eol normalization Claude-Session: https://claude.ai/code/session_01WQAhb3Xjq1mMwf1My4YeEP
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.
Pre-existing drift (not from #57): the 14:10Z federation-sync mirrored an updated muninn-bsky-card manifest without rebuilding its registry page, redding the drift check on every PR. This commits the fresh build of just that page. Third occurrence of this class (#54, #55) — the sync cron mirroring manifests without a page rebuild may deserve a proper fix.
https://claude.ai/code/session_01WQAhb3Xjq1mMwf1My4YeEP