release · git:20260920.81f1ca7 · 2026-09-20 · sha256 5b146f9b8632f0c4
release git:20260920.81f1ca7B
Immutable. This exact content never changes and is served at /api/v1/blob/5b146f9b8632f0c4.
--- description: Release one repository from main — its checks with walkthrough, README and release notes, then /save with the release message and the tag at an approved major argument-hint: '[project-slug] [-m "message"] [-Tag name]' disable-model-invocation: true --- Release one repository from `main` (POS.1100): the checks POS.1140 composes, settled by walkthrough (POS.0570), the README and the release notes regenerated from the settled sources under the principal's eyes (POS.0810, POS.1000), and then `/save` (`.claude/skills/save/SKILL.md`) with the release message and, at an approved major, the tag. The repository is named by its slug, `forge` meaning the engine; without a slug, ask which repository — a release is always one repository, never a sweep. 1. Determine the state from `./scripts/forge-status.ps1` (the scripts are the only door to git — CLAUDE.md, Persistence). A release runs on `main` only: on any other branch, stop and report the branch the repository is on and how to get back (`./scripts/forge-branch.ps1 <slug> main`, after saving). Merging a branch into `main` is git's business, by hand or by merge request, never this command's (POS.1110). 2. Run the checks over the sources through the `/check` procedure (`.claude/skills/check/SKILL.md`) and report the result to the principal — always, even when clean. A project: `light` and `project`. The engine: `light`, `engine` and `project`, the two project checks on `projects/forge`. Launched at once, awaited together. Clean: state that the checks passed. Findings: settle them by walkthrough (CLAUDE.md, Working methods); a finding may be deferred, as the `/check` procedure says, and the release proceeds. Never fix silently; never proceed with an unsettled finding. The check runs before the renders so that a fix of the walkthrough — an intent bump, a changed convention — is already in the inputs the renders derive from (POS.0570). 3. Offer `/critique essence` once, in one sentence: the lens that guards what a release publishes, the drift of the chain (POS.0400). On the principal's word run it through its own definition (`.claude/skills/critique/SKILL.md`) and settle its findings by walkthrough before going on; on his no, or silence, run nothing — no reviewer ever runs at a release on Claude's own judgement. 4. Only once the findings are settled, regenerate the repository's README and release notes from their recipes — unconditionally, no staleness test, always through the `/render` procedure (`.claude/skills/render/SKILL.md`), never through an ad-hoc subagent prompt (POS.1070). The two renders are launched at once, each through the `/render` procedure, and awaited together. Report the steps, including a short summary of what materially changed in the regenerated files (POS.0810, POS.1000): the principal rules on the delta before the commit. A render made from the settled sources is current by construction; its verification is `/render` step 6 (the file, its provenance, the ledger), not a check. Which renders a repository has is CLAUDE.md, Document chain 7's. A project whose recipe is missing is reported (a `/check` finding) and released without the render. Other renders are never regenerated here; their staleness is the principal's business, shown by the `/forge` map (POS.0570). 5. Then run `/save` for this repository through its own definition (`.claude/skills/save/SKILL.md`), with two things decided here: the commit message is `release <intent version>: <one line>` — the line summarising the rounds since the last release, from the rows of the intent's `.history.md` companion, the primary record (CLAUDE.md, Versioning & status), unless `-m` was supplied; for a library, whose history is git, the version is omitted and the line describes what changed — and, when the intent's version is an integer (an approved major), the tag `v<major>`, proposed and taken on the principal's word (a rule of the procedure, not a gate in the script). Before proposing the tag of a major of the forge intent, name what POS.0300 of that intent asks a major to pass — a reminder on the principal's word, never a gate. Any other tag is his request, as `/save` has it. The check is advisory (POS.0430): the principal may order the release at any moment regardless of findings.