Repository navigation
ci: end a work-resolve-issue kill-switch deny neutral, keeping work-unblock's re-fire - #11236
Conversation
…nblock's re-fire An issue run of pr-run-activity-write.yml now takes request-lane-token's kill-switch-ok, so a broker kill-switch refusal at apply-issue-patch, report-outcome or report-skip ends green with no token. report-escalation stays red. work-unblock's label-unblocked.mjs reads that stop as a breaker trip: a `Request the lane token` success whose `Stage the activity from the base` step skipped is a stopped mint, and its job log's timestamped `##[notice]lane-token-stopped: ... kill switch is on` line makes it a trip. A stopped mint with no such line is a failed mint. The failed-step DENIAL.token path stays for runs from before this change. Closes #10753 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
claude-security-review reviewed No security findings in the incremental change since 06069bd. This is an incremental review of the four changed files. I read the incremental diff and the surrounding workflow, and did not dispatch subagents.
Spend: the extra re-fire is one more work-unblock dispatch per version. That draws on subscription or prepaid usage, so it is not a hold. |
|
claude-review reviewed Incremental review of the four files changed since 06069bd, with no findings. I read the incremental diff, the PR context, and the surrounding code in
No cost or billing change. No critical security finding. |
A green kill-switch stop now reaches the jobs after the stopped mint, so:
- report-outcome skips when apply-issue-patch stopped on the kill switch,
instead of reporting a run whose patch was dropped with no escalation
reason; work-unblock re-fires the issue as a breaker trip.
- report-statuses posts a report-outcome the switch stopped as `error`
("did not finish"), never `success`.
- work-unblock re-fires a green run whose report mint stopped after a patch
mint like a failed run, at once, instead of waiting the stranded hours.
Refs: #10753
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Post-merge mutation testingKilled 6, survived 1, timeout 0, no coverage 0, invalid 0, not run 0.
Surviving mutants
The run's summary has the full report. |
Closes #10753
Summary
A work-resolve-issue run that the token broker refuses with reason
kill-switchat a write job's mint now ends green, and work-unblock still re-fires the issue as abreakertrip. A kill switch still stops the run; only the run's colour changes.Fix
.github/workflows/pr-run-activity-write.yml:kill-switch-okis now${{ inputs.activity != 'report-escalation' }}, which drops theinputs.issue-number == ''clause. Issue runs (apply-issue-patch, report-outcome, report-skip) end a kill-switch refusal green, with no token andskip-reasonkill-switch. report-escalation stays red. Every later step already keys on the token, and the existingcallers.test.mjscheck ("every kill-switch-ok caller runs no token step and no dependent job on a kill-switch stop") already covered the work-resolve-issue callers and still passes..github/scripts/work-unblock/label-unblocked.mjs:didNoWorkno longer treats every successfulRequest the lane tokenstep as work done. A mint success whoseStage the activity from the basestep was skipped is a stopped mint (STAGE_STEP), read straight from the job listing. Only that shape gets one job-log read, and a timestamped##[notice]lane-token-stopped: the broker refused the token because a lanes kill switch is online (STOPPED) makes it abreakertrip at stagetoken. A stopped mint with no such line is a failed mint (mint-failed), so it is still re-fired. The failed-stepDENIAL.tokenpath is unchanged for runs from before this change.work-resolve-issue.ymlreport-outcome skips when apply-issue-patch'sskip-reasoniskill-switch. That run's patch was dropped, and otherwise report-outcome would report it with no escalation reason. work-unblock then re-fires the issue as a breaker trip. report-statuses passes a report-outcome that the switch stopped asstopped, whichpost-statuses.mjsjobStateposts aserror, neversuccess. Inlabel-unblocked.mjs, a green run whose report mint was stopped after a patch mint is re-fired at once like a failed run (stoppedMint), with no log read, instead of waiting the stranded hours.Verification
Tests were written first and failed on the old code, then passed after the fix (
node --test):callers.test.mjs› "pr-run-activity-write.yml takes kill-switch-ok on every run but report-escalation". It was red before the fix, atat("7","apply-issue-patch"), and is green after (206/206).breakertrip: theselabel-unblocked.test.mjstests were red before the fix (3 failing) and are green after (233/233):callers.test.mjs› "work-resolve-issue.yml: a kill-switch stop skips report-outcome and never reads as a passed report", andlabel-unblocked.test.mjs› "a green run whose report mint the kill switch stopped after a patch mint is re-fired like a failed run". Totals: callers 208/208, label-unblocked 234/234, post-statuses 23/23, report-outcome 326/326.if: steps.lane-token.outputs.token != ''.lane-token-denied ... reason kill-switchis still a breaker trip: "a run the broker refused at its mints for the kill switch, after the model ran, is a breaker trip read from one log" and "a refusal whose log does not name the kill switch on the step's last line is a failed mint" pass unchanged.decide.test.mjs(60),apply-patch.test.mjs(174),refire-refused.test.mjs(26),gate-source.test.mjs(31),check-signed-commits.test.mjs(39), and actionlint on the workflow.Metrics
breakerrecord comment names the run.Related
kill-switch-ok), fix(pr-pipeline): let a kill-switch stop skip cleanly and re-fire pr-unblock heads after the switch lifts #10844 (opted pull request runs in and left issue runs red until this change)work-resolve-issue.ymlprune-lane-branches). Its hunks are untouched here.🤖 Generated with Claude Code