ci: adopt ai-review-prompts #89 — sonnet-5/xhigh/96-turn review defaults - #2328
Conversation
…op the sonnet-5 canary override Bump every ai-review-prompts pin (claude-review, gemini-review, claude-mention, claude-issue-to-pr, validate-caller-workflows) to 8401fe1, which raises the fleet defaults: claude-sonnet-5 model, --effort xhigh, 96-turn review budget (mention 96, issue-to-pr 100), 30m timeouts. The claude-review model: claude-sonnet-5 canary override is now the fleet default, so it comes out. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S94XethbGXpAb4DRKMD4kt
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
/#87 calibration edits 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
|
Reviewed Verified rather than assumed:
On the red One operational consequence worth knowing: that comparison is against the default branch, not the PR's base. Merging the Any other red checks here are integration/cluster tests, which a — |
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
* ci(v5.1): sync bot caller workflows with main 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 * ci: adopt ai-review-prompts #90 cost gates (pin be549ad) + ready_for_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 * ci: admit ready_for_review on label-opted PRs in opt-in mode 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 * ci: keep ineligible runs out of the review concurrency group 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 * ci: only the provider's own label makes a labeled run eligible 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 --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* ci(v5.2): sync bot caller workflows with main 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 * ci: adopt ai-review-prompts #90 cost gates (pin be549ad) + ready_for_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 * ci: admit ready_for_review on label-opted PRs in opt-in mode 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 * ci: keep ineligible runs out of the review concurrency group 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 * ci: only the provider's own label makes a labeled run eligible 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 * ci: ready_for_review runs review but never cancels 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 --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* ci(v5.1): sync bot caller workflows with main 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 * ci: adopt ai-review-prompts #90 cost gates (pin be549ad) + ready_for_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 * ci: admit ready_for_review on label-opted PRs in opt-in mode 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 * ci: keep ineligible runs out of the review concurrency group 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 * ci: only the provider's own label makes a labeled run eligible 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 * ci: ready_for_review runs review but never cancels 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 * ci: exclude ready_for_review from the always-on cancelling arm (see #2357) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S94XethbGXpAb4DRKMD4kt --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* ci(v5.2): sync bot caller workflows with main 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 * ci: adopt ai-review-prompts #90 cost gates (pin be549ad) + ready_for_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 * ci: admit ready_for_review on label-opted PRs in opt-in mode 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 * ci: keep ineligible runs out of the review concurrency group 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 * ci: only the provider's own label makes a labeled run eligible 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 * ci: ready_for_review runs review but never cancels 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 * ci(v5.2): sync the always-on ready_for_review cancelling fix (see #2357) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S94XethbGXpAb4DRKMD4kt --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Bumps every ai-review-prompts pin (claude-review, gemini-review, claude-mention, claude-issue-to-pr, validate-caller-workflows) to
be549ad— current main, which carries:ready_for_reviewtrigger type.Expected on this PR: the claude-review check errors with the workflow-must-match-default-branch validation — normal for workflow-editing PRs.
Merge order: this PR first, then #2330 and #2331 (the release-branch syncs, refreshed to matching content).
🤖 Generated with Claude Code
https://claude.ai/code/session_01S94XethbGXpAb4DRKMD4kt