You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Found while trying to merge #337. This blocks all releases, not just v0.6.0.
Symptom
Review gate (scheduled) is a required context and sits at action_required, so #337 is permanently BLOCKED with every other check green and zero unresolved threads.
From the reconcile run log:
Review gate GitHub did not record the prior head, so review continuity cannot be
verified across that rewrite. Re-create the branch as described in #299 before
running the review gate: untraceable force-push discontinuity cannot be verified
Review gate (scheduled) action_required check created for d91447b...
Cause
Release Please updates its release PR by force-pushing the branch, which is normal operation for it. Verified:
$ git merge-base --is-ancestor abdd12b d91447b # previous #337 head
-> not an ancestor; the branch was rewritten
scripts/publish-review-gate-check.mjs treats an untraceable rewrite as unverifiable and fails closed — untraceableRewriteError(), the behaviour settled in #318 (4527569, 2026-09-07).
That behaviour is correct for a human branch, where a force-push could replace reviewed code without a trace. It is wrong for a release branch that a bot regenerates from master on every upstream merge.
Timeline supports this reading: v0.5.1 released 2026-08-17; #318 landed 2026-09-07; v0.6.0 is the first release attempt since, and it cannot merge. The discontinuity here was created when #341 merged and Release Please regenerated the branch — before any hand edit — so it is not a consequence of editing the branch.
Why this recurs
Every merge to master regenerates the release PR, so the release branch is rewritten repeatedly by design. Under the current gate, a release PR becomes unmergeable as soon as anything else lands.
Options, none taken
Exempt the release-please branch from the continuity check. The branch is bot-generated and its diff is mechanically derived from master, so there is no prior reviewed state a rewrite could smuggle past — the property the check exists to protect. Narrowest change, but it weakens a security-relevant gate and needs a deliberate decision.
Correcting generated release notes requires hand commits on the release branch (#337 carries two, for a reverted entry and for source-only full-year flows). Those are lost on the next regeneration. Whatever fix is chosen should say where release-note corrections are supposed to live, because right now the only place they can exist is a branch that is rewritten without warning.
Not fixing this unilaterally: it changes a gate whose fail-closed posture was chosen deliberately in #318 after seven review rounds.
Found while trying to merge #337. This blocks all releases, not just v0.6.0.
Symptom
Review gate (scheduled)is a required context and sits ataction_required, so #337 is permanentlyBLOCKEDwith every other check green and zero unresolved threads.From the reconcile run log:
Cause
Release Please updates its release PR by force-pushing the branch, which is normal operation for it. Verified:
scripts/publish-review-gate-check.mjstreats an untraceable rewrite as unverifiable and fails closed —untraceableRewriteError(), the behaviour settled in #318 (4527569, 2026-09-07).That behaviour is correct for a human branch, where a force-push could replace reviewed code without a trace. It is wrong for a release branch that a bot regenerates from
masteron every upstream merge.Timeline supports this reading: v0.5.1 released 2026-08-17; #318 landed 2026-09-07; v0.6.0 is the first release attempt since, and it cannot merge. The discontinuity here was created when #341 merged and Release Please regenerated the branch — before any hand edit — so it is not a consequence of editing the branch.
Why this recurs
Every merge to
masterregenerates the release PR, so the release branch is rewritten repeatedly by design. Under the current gate, a release PR becomes unmergeable as soon as anything else lands.Options, none taken
master, so there is no prior reviewed state a rewrite could smuggle past — the property the check exists to protect. Narrowest change, but it weakens a security-relevant gate and needs a deliberate decision.Related complication
Correcting generated release notes requires hand commits on the release branch (#337 carries two, for a reverted entry and for source-only full-year flows). Those are lost on the next regeneration. Whatever fix is chosen should say where release-note corrections are supposed to live, because right now the only place they can exist is a branch that is rewritten without warning.
Not fixing this unilaterally: it changes a gate whose fail-closed posture was chosen deliberately in #318 after seven review rounds.