Skip to content

ci(v5.2): sync the always-on ready_for_review cancelling fix - #2358

Merged
heskew merged 8 commits into
v5.2from
sync-review-workflows-v5.2
Aug 27, 2026
Merged

ci(v5.2): sync the always-on ready_for_review cancelling fix#2358
heskew merged 8 commits into
v5.2from
sync-review-workflows-v5.2

Conversation

@heskew

@heskew heskew commented Aug 26, 2026

Copy link
Copy Markdown
Member

Brings the #2357 correction to v5.2 so its callers stay byte-identical to main. Merge after #2357.

🤖 Generated with Claude Code

https://claude.ai/code/session_01S94XethbGXpAb4DRKMD4kt

heskew and others added 7 commits August 25, 2026 16:50
Content matches bump-ai-review-prompts-pin (#2328) — identical to main
once that merges.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S94XethbGXpAb4DRKMD4kt
…review trigger

Draft PRs skip review until flipped ready (label still opts one in),
mechanical diffs skip pre-run, reasoning effort scales with diff size
(60/high, 1500/xhigh, else max), synchronize runs debounce 120s.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S94XethbGXpAb4DRKMD4kt
kriszyp review finding on the pin-bump PR: with *_ALWAYS_ON unset, the
caller gate admitted only labeled events, so a PR opted in by label
while draft never resumed review when flipped ready — the event died at
the caller gate. Admit ready_for_review when the opt-in label is still
present.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S94XethbGXpAb4DRKMD4kt
kriszyp review finding: workflow-level cancel-in-progress fires before
job if:, so in opt-in mode an ineligible event (a push, or a ready-flip
without the opt-in label) cancels an in-flight label-triggered review
and then skips — silently losing the requested review. Ineligible runs
now take a unique run_id group and can never cancel an eligible one;
eligible runs keep cancelling each other (the debounce contract).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S94XethbGXpAb4DRKMD4kt
Review finding (Codex + kriszyp, independently): the eligibility
predicate admitted every labeled event, so in opt-in mode an unrelated
label applied mid-review joined the eligible concurrency group,
cancelled the running review, and the replacement then failed the
reusable's exact-label gate — no completed review. The same
unrelated-label cancellation existed in always-on mode before this
series (any labeled event shared the group and authorize then skipped).

The labeled branch now requires the provider's own label, in both the
concurrency predicate and the review job gate, and unrelated-label
events are ineligible in both modes.

Event matrix (opt-in / always-on):
- labeled(provider label): eligible / eligible — supersedes in-flight
- labeled(other): ineligible / ineligible (was: cancelled + no review)
- synchronize: ineligible / eligible
- ready_for_review + label: eligible / eligible
- ready_for_review, no label: ineligible / eligible
- opened, reopened: ineligible / eligible

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S94XethbGXpAb4DRKMD4kt
kriszyp follow-up finding: the label-opted ready_for_review event sat
in the shared eligible concurrency group, so on a bot-authored PR it
could cancel the trusted labeler's in-flight review and then be
rejected by author-based authorization — no completed review. The
cancelling set (concurrency predicate) now excludes ready_for_review;
the running set (job gate) keeps it, so trusted-author ready-flips
still review, without the power to cancel. Revisit if the reusable
gains persisted-label authorization.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S94XethbGXpAb4DRKMD4kt
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@claude

claude Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Reviewed; no blockers found.

@heskew
heskew merged commit b863cd1 into v5.2 Aug 27, 2026
39 of 41 checks passed
@heskew
heskew deleted the sync-review-workflows-v5.2 branch August 27, 2026 00:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant