diff --git a/.claude/wurk/commit.md b/.claude/wurk/commit.md index a473649..526c0cc 100644 --- a/.claude/wurk/commit.md +++ b/.claude/wurk/commit.md @@ -44,8 +44,11 @@ The manifest does carry a `release` recipe - `kind: "hex"`, `version_file` `mix.exs`, `readme_pin` true - so `/wurk:release` runs here, driven by that block together with the required steps in `.claude/wurk/release.md`. None of that is a commit-time concern: the recipe runs on an operator-authorized -release bead, and it still stops short of tagging, pushing and publishing, -which `CLAUDE.md`'s authority table holds for the operator in every campaign. +release bead, and it still stops short of tagging, pushing and publishing. +Those follow `CLAUDE.md`'s authority table: once the prep is merged to +`origin/main`, the conductor or the session that owns the release bead tags +that merged commit, and only the publish (`mix hex.publish`, a GitHub +release) is the operator's, in every campaign. What it means for an ordinary commit is only this: if a version change turns up in the diff and you are not on a release bead, that is the finding - report it and stop, do not commit it. diff --git a/.claude/wurk/release.md b/.claude/wurk/release.md index 87dbc49..c0d5a81 100644 --- a/.claude/wurk/release.md +++ b/.claude/wurk/release.md @@ -218,10 +218,18 @@ Exactly these, and a release commit that touches anything else is wrong: ## What a release here still is not The skill does not tag, push, open a request or publish, and this extension -does not either. In this repo those are the operator's, in every campaign and -outside every campaign. `CLAUDE.md`'s authority table says it twice: a version -bump on a release bead's branch is authorized only on "an operator-authorized -release bead, inside a campaign carrying the operator's explicit consent", and -"a release (tag, `mix hex.publish`, GitHub release)" carries the trigger -`never`. The one thing a release-prep request contains is the version bump and -the fragment promotion above. +does not either. The one thing a release-prep request contains is the version +bump and the fragment promotion above. What happens around it is +`CLAUDE.md`'s authority table, not this recipe. A version bump on a release +bead's branch is authorized only on "an operator-authorized release bead, +inside a campaign carrying the operator's explicit consent"; the push and the +request follow the table's push row. Once the prep is merged to +`origin/main`, the conductor or the session that owns the release bead tags +that merged commit with the new version and pushes the tag: the table's +tagging row fires when "the release bead's version bump is merged to +`origin/main`; the tag names that version at the merged commit", and the +same file's Release preps paragraph makes the bump and the tag the family +norm rather than a grant a consent has to name. Publishing stays the +operator's, in every campaign and outside every campaign: "a release +(`mix hex.publish`, GitHub release)" carries the trigger `never`, a docs +republish is part of it, and no consent or relay delegates it.