From dac4946e4384c07966ba9f62dbee4b4f89b80f86 Mon Sep 17 00:00:00 2001 From: cndgrr <59120057+cndgrr@users.noreply.github.com> Date: Tue, 4 Aug 2026 21:04:10 +0000 Subject: [PATCH] README: the re-arm is the merge door's, so state its reach correctly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Self-caught while re-reading the section added in 87f300c. It said version_next_dev's refusal was "the tag door's edge" — wrong twice. The tag door does not bump at all (release.yml:303-307, cast's precedent: the fallback does not rewrite main), and the merge door's bump runs only on ceremony=yes, which decide rows 5-6 reach only on a transition TO bare. The message is therefore unreachable through either door as they stand, and the honest description is a guard against a future decide change, not an edge an operator can hit today. Writing a troubleshooting entry that sends an operator looking down the tag door for a message the tag door cannot emit is the same defect this round is fixing one paragraph up, so it does not get to ship in the fix. --- README.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 2fb5d67..5da3564 100644 --- a/README.md +++ b/README.md @@ -500,17 +500,20 @@ delete and re-push the tag. ### The re-arm refused ([release.yml](.github/workflows/release.yml#L267-L301)) -The bump runs *after* the tag, the notes and the publish, so a refusal here -leaves a real release behind an unarmed main — the release exists and main -still reads the version it just shipped. That is the one failure in this -catalog where the remedy is a manual bump, not a re-run. +The bump belongs to the merge door alone — the tag door deliberately does not +rewrite main ([L303–L307](.github/workflows/release.yml#L303-L307)) — and it +runs *after* the tag, the notes and the publish. So a refusal here leaves a +real release behind an unarmed main: the release exists and main still reads +the version it just shipped. That is the one failure in this catalog whose +remedy is a manual bump, not a re-run. > version_next_dev: refusing '$ver' — expected bare X.Y.Z [L86](lib/version.sh#L86): the version reaching the bump is not bare — -`-dev`, `-rc1`, or garbage. Unreachable by the merge door, whose row 6 fires -only on a transition *to* bare; it is the tag door's edge, where the tag names -the tree's version and nothing re-checks its shape. +`-dev`, `-rc1`, or garbage. Not reachable through either door as they stand: +the step runs only on `ceremony=yes`, which rows 5–6 reach only on a +transition *to* bare, and the tag door never bumps. Treat it as the guard it +is — it fires if a decide change ever lets a non-bare version through. > version_write: npm is required for version-source: package-json