Skip to content

Authority rows: the release-prep bump follows the family norm - #243

Merged
johnnyt merged 1 commit into
mainfrom
sp-6ghs-release-prep-rows
Sep 29, 2026
Merged

johnnyt merged 1 commit into
mainfrom
sp-6ghs-release-prep-rows

Conversation

@johnnyt

@johnnyt johnnyt commented Sep 29, 2026

Copy link
Copy Markdown
Member

Rewords two rows of the authority table in CLAUDE.md, and the sentences in .claude/wurk/release.md and .claude/wurk/commit.md that restated the first of them. Docs-only: no file under lib/, test/, config/, mix.exs or mix.lock changes, so the branch touches no gated path and there is no gate to run. No changelog fragment (changelog.d/README.md excludes documentation and agent tooling changes).

The version-bump row (CLAUDE.md). Its 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 family norm, not a grant a campaign consent has to name". This restates the first two sentences of the file's own "Release preps" paragraph (the version bump and the tag of a release prep are the family norm; on a release bead the operator has named, the prep lands through the rows above), ruled by the operator, 2026-09-27. It 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, and the tag row and the publish row are untouched, so mix hex.publish stays the operator's.

The tracker-push row (CLAUDE.md). Its trigger said "the operator's call" and its forbidden cell "inside a campaign that spans mirrored trackers - the conductor pushes those atomically". It now says: trigger "bead state changed locally and the git side of the same change has already reached origin; inside a campaign, the conductor pushes (atomically across the campaign's trackers)", forbidden "as a way to publish beads for work that is not on origin/main yet". This is the wording ruled by the operator, 2026-09-29, and it grants nothing beyond it.

.claude/wurk/release.md, "What a release here still is not". The bump bullet quoted the old row trigger; it now quotes the new one verbatim. The closing sentence said the bump is release prep "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". Same norm, nothing added; the tag and publish bullets are unchanged.

.claude/wurk/commit.md, "Version bump: never". The sentence that said the row allows the bump "only on an operator-authorized release bead's branch, inside a campaign carrying the operator's explicit consent" now says "only on the branch of a release bead the operator has named (in the campaign plan or their own words), the family norm rather than a grant a campaign consent has to name". The commit-authority paragraph at the top of the file (the consent trigger for git commit) is a different row and is unchanged.

Every other row is byte-identical. Checked with git diff -U0 origin/main -- CLAUDE.md, filtered to lines starting -| or +|: exactly the two rows above appear, each once removed and once added. Both files under .claude/wurk/ were re-read with line breaks flattened for any other sentence making the bump wait on a consent; none remains.

Review (own, in-turn). I re-read the diff against the bead's acceptance: the bump row reads the norm in this file's words and matches the Release preps paragraph; release.md and commit.md say the same; the one other changed row is the ruled tracker-push row; no other file changes. Each rewritten sentence was checked against what it restates for the same meaning and no added grant.

Advisory, left for a follow-up (outside this change's files): .claude/wurk/mr.md's first section still says that outside a campaign bd dolt push "is the operator's call, as the table says", which no longer matches the reworded tracker-push row.

The version-bump row's trigger now reads a release bead the operator has
named (in the campaign plan or their own words), restating the Release
preps paragraph; the version bump and the tag of a release prep are the
family norm, ruled by the operator, 2026-09-27. The publish stays the
operator's. release.md and commit.md say the same in their own voice.

The tracker-push row now reads: bead state changed locally and the git
side of the same change has already reached origin; inside a campaign the
conductor pushes, atomically across the campaign's trackers; never as a
way to publish beads for work not yet on origin/main (ruled by the
operator, 2026-09-29).

Every other row is byte-identical. No Elixir code changes, so there is no
gate to run.
@johnnyt
johnnyt merged commit b11af5d into main Sep 29, 2026
1 check passed
@johnnyt
johnnyt deleted the sp-6ghs-release-prep-rows branch September 29, 2026 12:36
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