Authority rows: the release-prep bump follows the family norm - #351
Merged
Merged
Conversation
The version-bump row in CLAUDE.md asked for "an operator-authorized release bead, inside a campaign carrying the operator's explicit consent", while the file's Release preps paragraph calls the bump and the tag of a release prep the family norm, not a grant a campaign consent has to name. The row's trigger now reads a release bead the operator has named (in the campaign plan or their own words), as the paragraph does, ruled by the operator, 2026-09-27; its forbidden cell is unchanged. .claude/wurk/release.md and .claude/wurk/commit.md drop the same consent condition in their own words. The tag row, the publish row and every other row are unchanged. The merge exception's provenance line drops a planning reference and reads "(Recorded 2026-09-01 by the operator.)". The comment beside the Docs and Doc links stages in .quality.exs said the Doc links stage fails on "a published relative link to a file that is not an extra", which reads as covering moduledoc links too. The stage reads relative links in the Markdown extras and the README only; moduledoc links are the Docs stage's. The comment now carries the wording the other packages in the family use; no stage option changes. docs/quality-gate-changes.md carries the entry the Gate guard requires, with the operator's approval of 2026-09-27. Refs: st-2sbx, st-1kyb
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.
Rewords the version-bump authority row, and the two wurk extension sentences that follow it, to the family norm the file's own Release preps paragraph already states: a release bead the operator has named is enough for the bump, and no campaign consent has to name it (ruled by the operator, 2026-09-27). Also carries the doc_links comment reword in
.quality.exswith its gate-change ledger entry, and drops a planning reference from one provenance line. Docs and comments only; no code, no version field, no stage option.Refs: st-2sbx, st-1kyb
What changed, row by row and sentence by sentence
CLAUDE.md, the version-bump row (
a version bump on a release bead's branch). The trigger said "an operator-authorized release bead, inside a campaign carrying the operator's explicit consent". It now says "a release bead the operator has named (in the campaign plan or their own words); the bump is release prep, the family norm, and no campaign consent has to name it". This restates the first two sentences of the file's Release preps paragraph ("The version bump and the tag of a release prep are the family norm, not a grant a campaign consent has to name. On a release bead the operator has named (in the campaign plan or their own words), ...") and grants nothing more. The forbidden cell ("on any other bead, on main, or when the operator has not named this repo's release bead") is unchanged.CLAUDE.md, the merge exception's provenance line. It carried a trailing internal planning reference after "by the operator" across two lines; it now says "(Recorded 2026-09-01 by the operator.)", the same scrub statifier-ui carries. The paragraph's rule is unchanged.
.claude/wurk/release.md, "What a release here still is not". The bullet quoting the version-bump row now quotes the row's new trigger. The paragraph after it said the recipe runs "on a named release bead's branch, under a campaign consent that names it"; it now says "on the branch of a release bead the operator has named". Both restate the row and the Release preps paragraph; the tag bullet, the publish bullet and the publish sentence are unchanged..claude/wurk/commit.md, "Version bump: release-prep commits only". The release-prep commit landed "under a consent that names it"; it now lands "on a release bead the operator has named (in the campaign plan or their own words)". The tag sentence and "the publish that follows (mix hex.publish) is always the user's" are unchanged; the paragraph's remaining lines are re-wrapped only..quality.exs, the comment beside the Docs and Doc links stages. It said the Doc links stage fails on "a published relative link to a file that is not an extra", which reads as covering moduledoc links too. It now says "a relative link in a Markdown extra to a file that is not itself an extra (moduledoc links are the Docs stage's)", the wording the other packages in the family carry. Comment only: no stage, option or threshold changes.docs/quality-gate-changes.md. A new entry for that comment reword, withApproved-by: JohnnyT (in session, 2026-09-27, for exactly this: the doc_links comment reword in .quality.exs), in the shape of the 2026-09-19 and 2026-09-23 entries. The approval is the operator's own, given in session on 2026-09-27 for exactly this change; this PR records it and grants nothing beyond it.Every other authority row is byte-identical
git diff origin/main -- CLAUDE.mdlimited to lines starting with|shows exactly one removed and one added table line, both the version-bump row; the table has the same number of|lines before and after. The tagging row, the publish row, the merge row, thebd closerow and thebd dolt pushrow are untouched.Review (in-turn)
I re-read the diff against both beads' acceptance: the version-bump row reads the norm in the file's own words, consistent with the Release preps paragraph; release.md and commit.md say the same and their publish sentences stay; no other row moved; the doc_links comment matches the family wording (checked against statifier_persistence's
.quality.exs); the ledger entry carries the operator's Approved-by. Each reworded sentence was checked against what it restates (the Release preps paragraph, and the operator's 2026-09-27 ruling that a named release bead is enough and the publish stays the operator's): same meaning, nothing granted beyond it.Checks
mix quality: green, every stage (Gate guard: no unjustified gate changes). The Gate guard was also checked to discriminate: with the entry'sApproved-by:label broken on a copy, the guard failed naming.quality.exs; restored byte-equal, green again.mix quality --profile merge(the ADR judge): green.changelog.d/README.mdexcludes documentation and quality-gate or agent-tooling changes.Provenance
.claude/wurk/commit.md's gate-guard section says an agent does not write a ledger entry itself. The entry here records the operator's own approval of this exact change (quoted above), which is what that section asks for; the entry text was drafted earlier and only itsApproved-by:line is filled from the operator's words.