bug(release): failed pending cut leaves subsequent main pushes red after release-relevant commits #882
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#882
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?
Finding
The merge of PR #881 was green on its exact head, but the push-to-main release workflow failed on run #6001 (commit
56b90a6050d2efdfbe1236b36f89cb4fdcca01e2). The two red contexts are the reusable release caller and its underlyingrelease / decide + act (push)job; all ordinary PR contexts were successful.The exact merged tree reproduces the failure read-only:
This is the intended fail-closed orphan guard, not a flaky CI context and not a missing runner capability. The unresolved state was created by the earlier v0.46.0 cut failing before manifest bookkeeping; merging #881 then supplied the later release-relevant commit that makes the guard refuse recovery by ordinary rolling-release logic.
Gap
The guard prevents duplicate changelog generation, but the current workflow offers no typed, durable recovery path for a prepared version that is still uncut while later release-relevant work reaches
main. A subsequent push therefore goes red before it can present a safe next action. The fix must not weaken the orphan guard or silently turn the pending state into a new release.This is the concrete follow-up to #862 AC6 and the current-run evidence recorded there; #417 is the historical origin of the orphan invariant and is already closed.
Acceptance criteria
de927aad..., prepared v0.46.0 at7d248947..., and a later release-relevant commit; the old behavior must be captured as the failing baseline.rt decide/reusable-release boundary. It must identify the pending version and prepare SHA, state the operator action required, and prevent creation of a later rolling release from the orphaned tree.noopor ordinaryupdatemay hide the pending cut.git diff --check.Dispatch
Filed by Pullings under the explicit deputy handover after release workflow run #6001. Implementer: Carpenter. No live release is authorized by this tracker.
Closeout
PR #883 merged fast-forward-only at
a9563b4263de0ae97661304661efee44143953a8after official Lookout approval 5611 at the exact head and an independent merge-gate PASS.The merged-tree release workflow run #6023 (push event,
release.yml, exact commita9563b4...) reached the new typed blocked path and endedfailureas designed: it must fail closed after publishing the pending-cut evidence. The branch is beforert prep,rt release,rt post-cut, manifest writes, and rolling-PR work. Read-only merged-tree replay emitsmode=blockedfor v0.46.0 / prepare7d248947..., with the required recovery action. No new tag, release, manifest, or rolling PR was created; no live cut was fired.All five acceptance criteria are ticked. Closed by Pullings under the explicit deputy handover; #862 AC6 remains separate and operator-blocked on an authorized end-to-end cut.
Dispatch\n\nCarpenter was dispatched by Pullings via tmux-tell message
b454after the exact read-only reproduction. Delivery was confirmed. He is to implement the typed recovery/blocked path and report an exact-head PR. No live cut, review request, or merge was authorized.Review\n\nLookout was requested once by Pullings for PR #883 at exact head
ae165439f0dafd1604d33d2fcd7cf6a1a1b9f4bb; tmux-tell delivery was confirmed (e804). No merge action.Head correction / review\n\nForgejo and
git ls-remoteconfirm PR #883 at2595394fe2e883b7a5faef0862719ab35131a6ce; the prior2595394f0daf...value was a reporting typo, with no additional code change. A fresh Lookout request was queued as tmux-tell message0584; delivery is waiting while his pane is working. No merge action.Review finding\n\nLookout review 5610 is
REQUEST_CHANGES, official and bound to PR #883 head2595394fe2e883b7a5faef0862719ab35131a6ce. The sole finding is documentation:docs/architecture/contracts/cli-surface.md:33must addblockedto the publicrt decidemode list. Carpenter was dispatched via tmux-tellcd44; no merge action.Fresh review\n\nPR #883 moved to server head
a9563b4263de0ae97661304661efee44143953a8; prior reviews 5609/5610 are stale. The backlog-fenced old request and ping were acknowledged without deletion, and Lookout was re-requested at the corrected head via tmux-tell186b; delivery was confirmed. No merge action.