fix(ci): partition pr-review concurrency by draft flag - #19
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Auto-merge blocked — risk-tier paths touched. This Claude-authored PR modifies files matching the risk-tier patterns Matched files: |
|
Risk class: This PR touches one of the blocked path categories from Auto-merge is refused by (This is a policy notice, not a code-quality failure. The classify job itself does not fail — required CI checks remain authoritative for "is the code green.") |
Closes the second of two independent routes to the
review / Claude Reviewfail-open. The trigger half (ready_for_reviewintypes:) is already fleet-wide; this is the other half.The load-bearing fact: GitHub counts a
skippedrequired context as SATISFIED. So when this check skips, the PR merges green and unreviewed — silently.How the concurrency group causes that: the reusable gates its job on
draft == false, so a stale draft-payloadsynchronizerun is a guaranteed no-op — but in a sharedclaude-review-<PR>group it can cancel (or replace, if queued) the realready_for_reviewrun. Result:skipped→ satisfied → merged unreviewed. Fixing the trigger alone does not close this.Why it hits the PRs that matter most: fleet policy makes DRAFT the standard auto-merge opt-out, so every manual-merge / high-risk PR is draft→ready — the recommended workflow was the one most likely to skip review.
Not theoretical:
wxa-mcp-server#339merged unreviewed through this class and took jake-ai down for ~13h (0 tools available) on 2026-07-14/15.Reference fix:
wxa-mcp-server#344.pr-classify,pr-codex-review,claude-author-automergeandsafe-paths-automergealready partition this way —pr-reviewwas the lone holdout (same race asattaxion_dev#303).Non-draft runs keep today's supersede semantics: a newer push still cancels an in-flight stale run.
Note for the merger:
claude-code-actionrejects PRs whose diff touches their own calling workflow file, soreview / Claude Reviewcannot pass here by construction. Where that check is required, usetemplates/ci-workflows/scripts/merge-workflow-only-pr.sh.Auto-merge rationale: MANUAL MERGE — .github/workflows/** is a high-risk surface. CI-config only; no application code.
🤖 Generated with Claude Code