docs(#417): recovery (A) says "edit" the manifest where it is a CREATE, and presents an atomic step that is separable #660
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#660
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?
What is actually worth changing
1. (A) says "edit" where it is a CREATE
The FATAL's remedy text (
release-decide.sh:401) reads:For an adopter with no manifest — the stable-tag-bootstrap population the check explicitly targets
(
:311) —${MANIFEST_PATH}does not exist, so this is a create, not an edit. An adopterfollowing it literally goes looking for a file that is not there, at the least convenient moment.
Proposed: word it as create-or-update, and name the three fields as the file's full contents for
the create case, so a first-time manifest can be written from the message alone.
2. (A) is separable, and the doc presents it as atomic
The orphan predicate compares
CHANGELOG_TOP_VERSIONagainstLAST_VERSION. The release objectis not an input. Measured on
frankenbit/purser:release.ymlispush: branches:[main],deploy.ymlisrelease: types:[published], and all five workflows have zero tag-triggeredlines — so pushing the tag emits no release event.
⚠️ Stated precisely, because the first version of this issue overclaimed exactly here: tagging
clears that check. It does not leave the repo in the state a successful cut would have
produced — the manifest is still unwritten. It is a stopping point before the deploy, not a
completed recovery.
Proposed: name the intermediate state and its limits, so adopters whose deploy hangs off
release: publishedcan see that a pause exists — without reading it as "done".3. Non-goal
Nothing here proposes auto-healing. The refusal is deliberate ("either path is a scope decision an
adopter has to make") and that stands.
Anchor
frankenbit/purser, 2026-08-06:#25merged adding## [0.2.0], the cut failed a density gatebefore tagging, the retry after
#34hit #417. No manifest at any path; deploy triggered byrelease: published. Both wording gaps were live, and the retracted claim above was live too —filed by the toolkit owner and wrong in the direction that would have cost an adopter their manifest.
docs(#417): recovery path (A) assumes a manifest exists, and hides the safe half of the remedyto docs(#417): recovery (A) says "edit" the manifest where it is a CREATE, and presents an atomic step that is separableStaleness pass — LIVE