opencode-review.yml's cancel-superseded-opencode-review-runs job carries a safety rationale that
the file's actual configuration contradicts. The rationale is the load-bearing part, so a future agent
reading it will believe a guarantee the workflow no longer provides.
Evidence (all on origin/main)
.github/workflows/opencode-review.yml:513-518 states:
This job -- not the bootstrap concurrency group above -- is the primary
mechanism that actively cancels a same-PR run for an outdated head. The
bootstrap group is now cancel-in-progress: false (see its own comment):
nothing is ever preempted there, by design, to structurally close the
#1568 stale-cancels-fresh race regardless of arrival order.
The file contains exactly one cancel-in-progress setting:
$ git show origin/main:.github/workflows/opencode-review.yml | grep -n 'cancel-in-progress'
26: cancel-in-progress: true
516: # bootstrap group is now `cancel-in-progress: false` (see its own comment):
So cancel-in-progress: false exists only inside the comment asserting it. Three separate parts of
that sentence are stale:
- The value is inverted.
:26 is true, not false.
- The cross-reference is dangling. "see its own comment" points at
:20-21, which reads
"Coalesce before runner admission. The live-head job and scheduler still reject or replace a
delayed stale event after native queue cancellation." — it says nothing about cancel-in-progress,
and in fact describes the opposite mechanism (cancellation happens; it is corrected afterwards).
- "bootstrap group" names nothing. The group is
required-opencode-review-<repo>-<pr_number>
(:22-25). No group in this file is called bootstrap.
git log -L 26,26 attributes the current value to 633b4c47 fix(actions): cancel queued superseded model runs, which added cancel-in-progress: true at that line. The comment was not updated with it.
Why this is not cosmetic
#1568 is the order-blind preemption race: a delayed run for an older head joins the group and,
under cancel-in-progress: true, cancels the run currently active for the newer head — GitHub
preempts by "most recently started", with no notion of older/newer. cancel-in-progress: false closed
that structurally (nothing is ever preempted, so the race cannot occur).
With true restored and the group no longer head-SHA-scoped, that structural closure is gone. The
current design instead detects and repairs after the fact — :20-21's "reject or replace a delayed
stale event after native queue cancellation", plus this job's live-head reverification before candidate
selection and before every individual cancel call.
That is a defensible engineering trade (the workflow-level group is what coalesces runs before runner
admission under the shared 60-job ceiling, which job-level groups cannot do). The problem is only that
the comment still advertises the stronger, structural guarantee. "Nothing is ever preempted there, by
design" is false against :26, and it is precisely the claim a reader would rely on when deciding
whether a new cancellation path needs its own staleness check.
Scope
Contained to this one site. Checked noema-review.yml, strix.yml, pr-review-merge-scheduler.yml,
opencode-review-dispatch.yml, codeql-pr.yml: none contains a comment asserting cancel-in-progress: false — each has zero such setting and zero such claim.
Suggested fix
Comment-only change to :513-518: state that the group is cancel-in-progress: true and workflow-level
deliberately, for pre-admission coalescing under the job ceiling; that this reopens the #1568
arrival-order window at the native layer; and that this job plus the :20-21 admission/replace path are
what handle it instead. Drop the "bootstrap" name and the dangling "see its own comment" pointer.
Not filed as a PR: this session is under a push freeze agreed with the concurrent sessions to let the
queue drain. Recording it so the finding is not lost — see the standing rule that documenting a finding
is not the same as disarming it, so this needs an actual follow-up edit.
🤖 Generated with Claude Code
opencode-review.yml'scancel-superseded-opencode-review-runsjob carries a safety rationale thatthe file's actual configuration contradicts. The rationale is the load-bearing part, so a future agent
reading it will believe a guarantee the workflow no longer provides.
Evidence (all on
origin/main).github/workflows/opencode-review.yml:513-518states:The file contains exactly one
cancel-in-progresssetting:So
cancel-in-progress: falseexists only inside the comment asserting it. Three separate parts ofthat sentence are stale:
:26istrue, notfalse.:20-21, which reads"Coalesce before runner admission. The live-head job and scheduler still reject or replace a
delayed stale event after native queue cancellation." — it says nothing about
cancel-in-progress,and in fact describes the opposite mechanism (cancellation happens; it is corrected afterwards).
required-opencode-review-<repo>-<pr_number>(
:22-25). No group in this file is called bootstrap.git log -L 26,26attributes the current value to633b4c47 fix(actions): cancel queued superseded model runs, which addedcancel-in-progress: trueat that line. The comment was not updated with it.Why this is not cosmetic
#1568is the order-blind preemption race: a delayed run for an older head joins the group and,under
cancel-in-progress: true, cancels the run currently active for the newer head — GitHubpreempts by "most recently started", with no notion of older/newer.
cancel-in-progress: falseclosedthat structurally (nothing is ever preempted, so the race cannot occur).
With
truerestored and the group no longer head-SHA-scoped, that structural closure is gone. Thecurrent design instead detects and repairs after the fact —
:20-21's "reject or replace a delayedstale event after native queue cancellation", plus this job's live-head reverification before candidate
selection and before every individual cancel call.
That is a defensible engineering trade (the workflow-level group is what coalesces runs before runner
admission under the shared 60-job ceiling, which job-level groups cannot do). The problem is only that
the comment still advertises the stronger, structural guarantee. "Nothing is ever preempted there, by
design" is false against
:26, and it is precisely the claim a reader would rely on when decidingwhether a new cancellation path needs its own staleness check.
Scope
Contained to this one site. Checked
noema-review.yml,strix.yml,pr-review-merge-scheduler.yml,opencode-review-dispatch.yml,codeql-pr.yml: none contains a comment assertingcancel-in-progress: false— each has zero such setting and zero such claim.Suggested fix
Comment-only change to
:513-518: state that the group iscancel-in-progress: trueand workflow-leveldeliberately, for pre-admission coalescing under the job ceiling; that this reopens the
#1568arrival-order window at the native layer; and that this job plus the
:20-21admission/replace path arewhat handle it instead. Drop the "bootstrap" name and the dangling "see its own comment" pointer.
Not filed as a PR: this session is under a push freeze agreed with the concurrent sessions to let the
queue drain. Recording it so the finding is not lost — see the standing rule that documenting a finding
is not the same as disarming it, so this needs an actual follow-up edit.
🤖 Generated with Claude Code