Skip to content

chore: publish the corrected plan banners and close the upgrade epic - #47

Merged
RichardHightower merged 1 commit into
mainfrom
chore/worklog-upgrade-publish
Aug 7, 2026
Merged

chore: publish the corrected plan banners and close the upgrade epic#47
RichardHightower merged 1 commit into
mainfrom
chore/worklog-upgrade-publish

Conversation

@RichardHightower

Copy link
Copy Markdown
Contributor

Closes the epic 01KZD823EG6R5E1FXFX416RQ0G. Follow-up to #46.

The payoff, live

Plan pages on the wiki now read:

Current — completed plan; plans are frozen once written…

and, for this upgrade's own plan:

Current — plan in flight; …

instead of all of them claiming to be the latest status report. Verified by
reading the published pages in the wiki checkout, not by trusting the ledger.
Also checked all 96 published pages for leftover front matter: zero.

The frozen guard fired, and it was right to

Before the first publish, the guard refused on twelve frozen documents.
provenance-backfill had stamped merged_in into their front matter, moving
the whole-file hash.

That is a false positive in my publish script, and the same defect worklog
fixed upstream in 0.21.0: publishing strips front matter for Gollum, so two
files differing only there produce byte-identical pages, yet a whole-file hash
moves on every metadata stamp. The script now hashes below the front
matter, which is what the guard always meant — the prose changed.

Each of the twelve was verified individually before being named in
--allow-frozen: the body at the commit before provenance-backfill is
byte-identical to the body now, checked with git show, not assumed.

The guard caught one I missed. I built the allow-list from a truncated
listing that showed eleven; the twelfth was still refused. I verified that one
separately (body identical, sole change +merged_in:) before adding it. A
blanket bypass would have published it unexamined — this is the argument for
an override that makes you name what you are overriding.

No migration was needed

I started building a --rehash migration for the basis change and backed it
out: the ledger self-heals, because every publish rewrites source_hash on the
new basis. Confirmed after the run — the guard is silent with no override at
all
, 0 to publish, 96 already current.

State

Both loops converged, gate exits 0. The doc-verify warning it prints is the
frozen-document fabrication situation reported upstream as
wiki_ticket_sdd#345, warn-level by design.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WMk8bhkMEUWfHi7VYzMzFX

…(01KZD823EG6R5E1FXFX416RQ0G)

Publishes across two wiki commits and closes the epic. The plan pages now
read "completed plan" and "plan in flight" instead of all three claiming to be
the latest status report, which was the point of the upgrade.

The frozen guard fired on twelve documents before the first publish, because
provenance-backfill stamped merged_in into their front matter. That is a false
positive from hashing the whole file: publishing strips front matter for
Gollum, so two files differing only there produce byte-identical pages. The
publish script now hashes below the front matter, which is what the guard
always meant -- the same fix worklog made upstream in 0.21.0.

Each of the twelve was verified individually before being named in
--allow-frozen: the body at the commit before provenance-backfill is
byte-identical to the body now, checked with git rather than assumed. The
guard also caught a twelfth document I had missed when a truncated listing
showed only eleven, which is the guard doing exactly its job.

No migration was needed for the hash-basis change: the ledger self-heals,
since each publish rewrites source_hash on the new basis. Verified after the
run -- the guard is silent with no override at all, 0 to publish, 96 current.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WMk8bhkMEUWfHi7VYzMzFX
@RichardHightower
RichardHightower merged commit b83cb4b into main Aug 7, 2026
2 checks passed
@RichardHightower
RichardHightower deleted the chore/worklog-upgrade-publish branch August 7, 2026 04:51
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.

1 participant