From 25c243b79bb6dead4bc6467ebf2bbccf73001a09 Mon Sep 17 00:00:00 2001 From: alexbelgium Date: Sat, 25 Jul 2026 06:57:20 +0200 Subject: [PATCH] AI triage: use Opus 5 instead of Opus 4.8 Opus 5 released 2026-07-24: same price as 4.8, both effort levels already used here (xhigh in the tier-2 sweep, high in the tier-3 executor) remain supported. Swap --model claude-opus-4-8 -> claude-opus-5 in the two Opus steps; Sonnet-low tiers (classify, @claude, CodeRabbit follow-up) untouched. Auto-merge for AI PRs was considered and declined -- keeping the existing ready-PR-requires-manual-merge behavior. Co-Authored-By: Claude Fable 5 --- .github/workflows/daily_ai_fix.yaml | 8 ++++---- .github/workflows/on_issue_approved.yaml | 2 +- .github/workflows/on_issues_ai_triage.yaml | 4 ++-- CLAUDE.md | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/daily_ai_fix.yaml b/.github/workflows/daily_ai_fix.yaml index 6d832a0d23..8423d2ea84 100644 --- a/.github/workflows/daily_ai_fix.yaml +++ b/.github/workflows/daily_ai_fix.yaml @@ -1,7 +1,7 @@ --- # Destination: .github/workflows/daily_ai_fix.yaml # -# Tier 2 of the AI triage system. One Opus 4.8 run at xhigh over the whole +# Tier 2 of the AI triage system. One Opus 5 run at xhigh over the whole # batch of `ai-triage` issues, grouped by add-on, so it can spot the cross-issue # patterns a per-issue run never sees ("these four reports are all the same base # image bump"). Runs daily rather than weekly, so batches (default limit 8) stay @@ -18,8 +18,8 @@ # # Full tier map: # Tier 1 on_issues_ai_triage.yaml Sonnet-low classify on issue open -# Tier 2 daily_ai_fix.yaml (this) Opus-xhigh daily fix/plan sweep -# Tier 3 on_issue_approved.yaml Opus-high execute an approved plan +# Tier 2 daily_ai_fix.yaml (this) Opus 5-xhigh daily fix/plan sweep +# Tier 3 on_issue_approved.yaml Opus 5-high execute an approved plan # @claude on_claude_mention.yml Sonnet-low maintainer-only interactive # PR on_pr_coderabbit.yml Sonnet-low one-shot CodeRabbit follow-up # Kill switch: set repo variable AI_DISABLED=true to pause every AI workflow. @@ -137,7 +137,7 @@ jobs: Follow .github/prompts/issue-fix.md exactly. Do not deviate from the path restrictions in that file under any circumstances. claude_args: | - --model claude-opus-4-8 + --model claude-opus-5 --effort xhigh --max-turns 300 --allowedTools "Read,Write,Edit,Glob,Grep,Bash(git:*),Bash(gh:*),Bash(shellcheck:*),Bash(yamllint:*),Bash(docker build:*)" diff --git a/.github/workflows/on_issue_approved.yaml b/.github/workflows/on_issue_approved.yaml index 62427a8b30..6afb92a35c 100644 --- a/.github/workflows/on_issue_approved.yaml +++ b/.github/workflows/on_issue_approved.yaml @@ -146,7 +146,7 @@ jobs: exactly. Do not deviate from the path restrictions under any circumstances. claude_args: | - --model claude-opus-4-8 + --model claude-opus-5 --effort high --max-turns 200 --allowedTools "Read,Write,Edit,Glob,Grep,Bash(git:*),Bash(gh:*),Bash(shellcheck:*),Bash(yamllint:*),Bash(docker build:*)" diff --git a/.github/workflows/on_issues_ai_triage.yaml b/.github/workflows/on_issues_ai_triage.yaml index e7ff3fd19c..5237ba9294 100644 --- a/.github/workflows/on_issues_ai_triage.yaml +++ b/.github/workflows/on_issues_ai_triage.yaml @@ -13,8 +13,8 @@ # # Full tier map: # Tier 1 on_issues_ai_triage.yaml (this) Sonnet-low classify on issue open -# Tier 2 daily_ai_fix.yaml Opus-xhigh daily fix/plan sweep -# Tier 3 on_issue_approved.yaml Opus-high execute an approved plan +# Tier 2 daily_ai_fix.yaml Opus 5-xhigh daily fix/plan sweep +# Tier 3 on_issue_approved.yaml Opus 5-high execute an approved plan # @claude on_claude_mention.yml Sonnet-low maintainer-only interactive # PR on_pr_coderabbit.yml Sonnet-low one-shot CodeRabbit follow-up # Kill switch: set repo variable AI_DISABLED=true to pause every AI workflow. diff --git a/CLAUDE.md b/CLAUDE.md index 1dcbbc0133..01822ff6d3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -149,8 +149,8 @@ in `.github/scripts/`. | Workflow | Model | Trigger | Role | |---|---|---|---| | `on_issues_ai_triage.yaml` | Sonnet-low | issue opened (+ author reply, daily catch-up) | Tier 1: classify, dedupe, answer, ask for info; label `ai-triage` for real add-on bugs | -| `daily_ai_fix.yaml` | Opus-xhigh | daily 03:00 | Tier 2: diagnose the `ai-triage` batch; small+confident → ready PR (`ai:fixed`); else write a plan (`ai:plan-pending`) | -| `on_issue_approved.yaml` | Opus-high | maintainer adds `ai:approved` | Tier 3: execute the approved plan → ready PR | +| `daily_ai_fix.yaml` | Opus 5-xhigh | daily 03:00 | Tier 2: diagnose the `ai-triage` batch; small+confident → ready PR (`ai:fixed`); else write a plan (`ai:plan-pending`) | +| `on_issue_approved.yaml` | Opus 5-high | maintainer adds `ai:approved` | Tier 3: execute the approved plan → ready PR | | `on_claude_mention.yml` | Sonnet-low | `@claude` by @alexbelgium | Manual interactive override on any issue/PR | | `on_pr_coderabbit.yml` | Sonnet-low | CodeRabbit reviews an `ai-fix/*` PR | Once: fix or reply to review comments |