feat(release): publish_mode default returns to immediate — #332 took Option A and Option B was correct #827
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#827
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Operator decision
Release cuts publish automatically.
publish_modedefault returns toimmediate.Operator, 2026-08-21: "I still would prefer to auto-publish the release cuts. Everything else
is just pretending of being in control."
What this reverses
#332(2026-07-03) found the README claiming "gates every release behind a human" while thedefault was
immediate, and offered three fixes:Option B was correct.
#332came from an external cold-read and was marked BLOCKINGv1.0.0; it reconciled the code to a documentation sentence without establishing which side was
authoritative. The agreed behaviour was auto-publish.
Scope
reusable-release.yml:publish_modedefault'draft'→'immediate'It is the sentence that caused this.
docs/integration.mdand any adopter guidance repeating the gate claimpublish_mode: draftavailable as an opt-in —#114established the inputand nothing here removes it
Acceptance criteria
immediate; a cut publishes without a clickdraftstill works when explicitly set (test or measured)Consequence for open trackers
#805— the manifest is written at release-object creation, not at publish. Underauto-publish the window shrinks to seconds; it does not close (@engineer). The tracker
survives; its framing ("draft-first is the design") does not.
#811— "nothing watches for unpublished drafts" becomes near-empty by construction.Re-scope or close.
purser#62— resolved;v0.4.0published 17:12:56.Anchor
Operator decision.
#332's Option B, four weeks late.immediate(#827) #8284 ACs ticked — each RE-DERIVED from
main📌 The two remaining hits are why this needed reading rather than counting. A correct retraction quotes what it retracts, so
grep -creturns non-zero on a properly-fixed document. That is the same predicate problem/srv/CLAUDE.mdrecords for checking a retraction: the question is "is every occurrence inside a negation?", not "is the count zero?"