Repository navigation
fix(pr-pipeline): post stop-resolved so only a cleared stop leaves the stalled-stop signal - #11552
Conversation
…e stalled-stop signal The address-feedback and fix-ci selects posted not-applicable for a stop they found gone, the same reason as an owner's untaken threads and a fix-ci skip before checks settled, so the monitor could not tell them apart. Add stop-resolved to the skip-reason enum and return it where the selects set resolved. The monitor counts only that skip as ending a stop and no longer re-reads the head's check listing. fix-ci-dispatch keeps reading the skip as a run with nothing to fix, so a new base still dispatches the head. 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 findings in this change, so there are no comments and no hold. I read the diff and the PR context, and also grepped
critical-findings: 0 |
|
claude-review reviewed No findings. I read the full diff and the PR context, and grepped for other readers of the skip titles. I ran no tests, so the PR's test counts are author-claimed and unverified. Closing issue #10434
The three changes the PR asks the lanes to judge
Known gap, stated in the PR: a Spend: none. The change adds no billed resource and no extra lane runs. |
Closes #10434
Summary
Problem: a stop a person clears by hand stays listed as a stalled lane stop until the head moves, because the run posts the same
Skipped: not-applicablecheck as unrelated skips.The address-feedback and fix-ci select jobs now post a distinct
stop-resolvedskip where they find the stop gone, and the maintenance monitor counts only that skip as ending a stop.Fix
stop-resolvedjoins theskip-reasonenum inpr-pipeline.schema.json.address-feedback.mjsandfix-ci-context.mjsreturn it where they setresolved: true. Every other skip keeps its reason, including a fix-ci skip before checks settle.collect.mjstreats aSkipped: stop-resolvedcheck started after the stop as ending it.Three changes the issue does not name, for the review lanes to judge:
fix-ci-dispatch.mjs:retryablematched only the old title. fix-ci now postsstop-resolvedon every settled-green head, so without this a base move would stop re-dispatching that head.collect.mjsdrops the whole-listing re-read and the draft guard, since the reason alone now settles it. This saves up to 3 reads per stop.stop-resolvedposts on any settled head, not only after a stop. Other readers of skip titles do not key on it:dependency-dispatch.mjs:51readsreview-dependency's check, andfeedback-dispatch.mjs:204andlimit-stop.mjsmatch other titles.Verification
collect.test.mjscovers both activities dropping off onstop-resolved, both staying listed onnot-applicable, an olderstop-resolvedstaying listed, and a listing read failing the test..github/workflows/changes;pr-unblock.yml:874passes the reason through.not-applicableskip posted before this merges does not end a stop, so that stop stays listed until a new dispatch or head. From reading the code, a pass-only address-feedback round with no stale notes posts no check, so a stop cleared only that way stays listed; this predates the change.Left out:
callers.test.mjs, which loads the schema but whose workflow inputs are unchanged; CI runs it.Related
🤖 Generated with Claude Code