Repository navigation
fix(work-unblock): count a lane-token-stopped notice only inside the mint step - #11268
Conversation
…mint step label-unblocked's stop mode counted a STOPPED notice on any line of the job log. It now counts one only between the runner's start-action marker for request-lane-token's `Request the lane token` step and that step's end-action marker, the shape job 120970852314's log shows. Also corrects two comments: refusalReader's said no other log line is read, and pr-run-activity-read.yml's said the prune list is not re-derived, though the checked step keeps only names the re-derived earlier-work check also names. 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. |
|
claude-security-review reviewed No security issues found in this pull request.
manifest fields: not touched. critical-findings: 0 |
|
claude-review reviewed No findings. I read the full diff and the PR context. I ran no tests, so the PR's 240/240 and 208/208 pass counts are author-claimed and unverified by me.
Tests.
Hold. None, since the change spends no money. No manifest items are hit. No closing issue or settled-threads file was supplied. |
Post-merge mutation testingKilled 2, survived 5, timeout 0, no coverage 0, invalid 0, not run 0.
Surviving mutants
The run's summary has the full report. |
No related issue: follow-up to review SUGGESTIONs on #11224 and #11236
Summary
Two comments described behaviour the code does not have, and label-unblocked's
stopmode matched a kill-switch notice anywhere in a job log. The notice now counts only inside therequest-lane-tokenmint step's section of the log.Fix
.github/scripts/work-unblock/label-unblocked.mjs: instopmode,refusalReaderfinds the job's first##[start-action display=Request the lane token;id=<step>.request]line, then that id's##[end-action id=<step>.request;...]line, and counts aSTOPPEDnotice only between them. With no start or no end marker the result is null, so the run stays a failed mint (mint-failed). The section boundary comes from a real job log (job 120970852314, the broker-check job the existing denial fixtures cite). The runner wraps the composite's one inner step in those markers, and the step's output, the notice included, comes after the inner##[group]Run set -euo pipefailgroup closes. A##[group]Runboundary would cut the section before the notice. Only the composite's first start marker counts, because later steps in a stopped job could print a fake block.refusalReader's comment said "no other line of it is read". It now says check and token modes read one line, and aSTOPPEDline outside the section never counts..github/workflows/pr-run-activity-read.yml: the prune-list comment said "Not re-derived". ThePublish the checked issue fieldsstep keeps only the names the re-derived--find-priorcheck also names, and the comment now says so, along with the prune job's own re-check.stoppedLognow uses the observed log shape (outerRun ./.base/.github/actions/request-lane-tokengroup, start-action, inner script group, notice, end-action, next step). The old fixture'sRun request-lane-tokenheader did not match a real log..changes/holds per-plugin directories only. This change touches no plugin, and the earlier.github/changes to these files (ci: end a work-resolve-issue kill-switch deny neutral, keeping work-unblock's re-fire #11236, fix(intake-triage): route a report-delivered blocker's dependent to re-triage #11241) added none.Verification
node --test label-unblocked.test.mjs job-log.test.mjspasses 240/240.pr-run-activity-read.ymlpass:callers.test.mjs208/208;seal.test.mjs,decide.test.mjs,check-signed-commits.test.mjs,fix-ci-dispatch.test.mjsandfix-docs-dispatch.test.mjs206/206 together. actionlint is clean on the workflow.Related
kill-switch-okand thelane-token-stoppednotice)🤖 Generated with Claude Code