Adds a release recipe for /wurk:release - #78
Merged
Conversation
`.claude/wurk.json` carried `"release": null`, so the skill refused here and every Hex prep was done by hand. The manifest now names the same `kind: "hex"` block statifier_blocks carries - version file and README pin, and no changelog key, since `changelog.mode` is `fragments` and there is no `## [Unreleased]` heading for the skill's changelog step to rename. `.claude/wurk/release.md` supplies what the recipe cannot: the `changelog.d/` precondition, the fragment-promotion step modeled on the 0.2.0 prep commit `1562d8c` (heading form with no dash, and no link reference, since this CHANGELOG carries no link-reference block), the finding that no second version carrier exists, and the table of files a release commit touches. Tooling only: no version, changelog, README or lib change. Refs: sui-6i0
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.
What
Gives this repo a
/wurk:releaserecipe..claude/wurk.jsoncarried"release": null, so the skill refused here and every Hex prep was done byhand.
Two files, both under
.claude/:.claude/wurk.jsongains areleaseblock byte-identical to the onestatifier_blockscarries:kind: "hex",version_file: "mix.exs",readme_pin: true. Deliberately nochangelogkey -changelog.modehere is
fragments, there is no## [Unreleased]heading, and pointing theskill at
CHANGELOG.mdwould make its precondition read for a section thatdoes not exist and its edit rename a heading that does not exist.
.claude/wurk/release.mdis the extension that supplies what the recipecannot: the
changelog.d/precondition that replaces the unreleased-sectionread, the fragment-promotion step, the README pin note, the table of files a
release commit touches, and the restatement that tag/publish are never the
skill's.
The precedent this is modeled on
1562d8c("Cuts the 0.2.0 release"), the most recent prep here. Two placeswhere this repo differs from
statifier_blocksand the extension says soexplicitly, because copying the sibling would have been wrong:
## [X.Y.Z] YYYY-MM-DDwith no dash between versionand date, not the skill's own
## [X.Y.Z] - YYYY-MM-DD.CHANGELOG.mdhere has no link-referenceblock at all and
1562d8cadded none; introducing one is a human's decision,not a mechanical release step.
Findings recorded rather than fixed
lib/ordocs/- the version lives once,as
@versioninmix.exs.assets/package.jsonhas a"version"fieldreading
0.2.0, and the extension names it explicitly as not a releasecarrier: it was created already carrying that string (
61d647f),1562d8cdid not move it, and nothing asserts it against the project version. If it
should track the Hex version that is a decision to record and a step to add,
not something to infer from two strings matching today.
{:statifier_ui, "~> 0.1"}whilemix.exsreads0.2.0, because1562d8cbumped the version file withoutthe pin. With
readme_pin: truethe next release repairs it. Not touchedhere - this PR changes no README.
Verification
ruby ~/.claude/skills/wurk:kit/scripts/lib/manifest.rb check->valid: true.Positive control: temporarily setting
kindto a bogus value also passed,so the lint does not inspect the
releaseblock. The substantive checks aretherefore the direct comparison against the
statifier_blocksblock (equal)and reading the skill's
kind: "hex"steps against this repo's files.block matches the sibling's minus
changelog; the extension carries thefiles table and cites
1562d8c; the diff touches only the two.claude/files - no version, changelog, README,
lib/ormix.exschange.gate.rbreportsapplicable: false-"no changes under lib/, test/, config/, mix.exs, mix.lock, assets/,
docs/wire-format.md". Docs-only under this repo's
CLAUDE.mdcommit row; nogate ran locally, and CI replays it regardless.
What this PR is not
No version bump, no changelog promotion, no fragment deleted - all twelve
fragments in
changelog.d/are untouched. The release prep that uses thisrecipe is a separate bead.
mix.exsis untouched (sui-2keowns it).Refs: sui-6i0
Closes sui-6i0.