Repository navigation
fix(source-control): pass over skipped-validation reds in review-venue - #8878
Conversation
A pull request that edits a review caller workflow ends both review lanes red by design (failure-class=skipped-validation). review-venue took that run as the lane's verdict and marked both lanes local failing for every other pull request. A failed run whose failed jobs all carry that annotation now reaches no verdict; other failures still count. Closes #8867 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
claude-review reviewed No findings on PR #8878 at head 1a58c0e. I read the full diff ( Closing issue #8867. The issue lists three options and the criterion that a real outage, where several recent runs fail, must still read failing. The PR takes the first option (skip the designed skipped-validation red).
Script logic. I traced
Docs and fragment. The rule doc, the GitHub provider doc and the patch fragment agree with the script on the 10-run bound and the fail-closed reads. The provider doc carries the pointer, as-of date and recheck trigger that the skill-body rule asks for. Minor, not worth a block. After ten passed-over runs the stale line still says "has no run with a verdict among its newest 100". It is accurate enough, since the lane has no usable verdict. Not checked. I did not look at the path-scoped rules ( |
|
claude-security-review reviewed No security issues found in PR #8878 at head 1a58c0e. The PR changes
|
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. |
Closes #8867
Summary
review-venuetook a lane's newest completed pull request run as the lane's health. A pull request that edits a review caller workflow ends both lanes red by design: claude-code-action skips itself because the caller differs from the default branch's copy, and the reusable workflow's last step fails withfailure-class=skipped-validation. That one run (#8800's runs 39610040287 and 39610040502) read both lanes aslocal failingfor every other pull request.Fix
plugins/source-control/skills/pull-request/scripts/review-venue.sh: a run that did not succeed gets its jobs and failed jobs' annotations read. When every failed or timed-out job carries afailure-level annotation startingfailure-class=skipped-validation, the run reaches no verdict and the lane's health comes from the run before it, like a skipped or cancelled run. Any other class (rate-limit,auth, ...) or a failed run with no failed job keeps its verdict, so a real outage still reads failing. After 10 such runs in a row the lane readslocal stale. A failed jobs or annotations read exits 2, like every other read. A successful newest run costs no extra call.echo "::error title=$LANE failed::failure-class=${FAILURE_CLASS:-unknown}: $why"(ci-workflows.github/workflows/pr-review.yml:1392,pr-review-security.yml:1183).skills/pull-request/reference/review-venue.md), GitHub provider doc (the two new reads, with pointer, as-of and recheck trigger) and a.changes/source-controlpatch fragment.Of the issue's options, this is the first. Judging over the newest N runs would also hide a real outage seen on only one pull request, so a review could be skipped. Reading the run for the pull request in hand doesn't work because the venue is often read before the pull request exists.
Verification
review-venue.test.sh: 49 pass. The fix(source-control): stop one workflow-editing PR from marking both review lanes failing in review-venue #8867 reproduction (newest run a skipped-validation red, an older success →ci healthy) failed on the unfixed script and passes now. New cases: a real failure behind a skipped-validation red reads failing; several real failures read failing; arate-limitred reads failing; only skipped-validation reds read stale; the window applies to the run behind the skipped one; unreadable jobs or annotations exit 2; a healthy lane reads no jobs.review-venue.sh --repo melodic-software/claude-code-pluginsreads both lanesci healthy.shellcheckclean on both files;markdownlint-cli2clean on the three docs.Related
🤖 Generated with Claude Code