From 59bb752e29a594cfa89569d5ccfd5322ccfe70bc Mon Sep 17 00:00:00 2001 From: Evan Senter Date: Sat, 17 Oct 2026 18:41:04 +0100 Subject: [PATCH] ci: align the fallback review prompt with the convergence policy The fallback prompt (used only when fetching claude-review.md fails) said "Be strict: REQUEST_CHANGES for any issues found", contradicting the central prompt's failure-scenario and round-based convergence rules, so a fetch failure also silently switched review policy. Also drop pinned model versions from workflow comments. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01LBftoc1JCMLow9LDFZMADs --- .github/workflows/claude-code-review.yml | 8 ++++---- .github/workflows/claude.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/claude-code-review.yml b/.github/workflows/claude-code-review.yml index 814aa94..ecc195e 100644 --- a/.github/workflows/claude-code-review.yml +++ b/.github/workflows/claude-code-review.yml @@ -61,11 +61,11 @@ jobs: REPO: ${{ github.repository }} PR_NUMBER: ${{ github.event.pull_request.number }} - ${{ steps.prompt.outputs.use_file == 'true' && 'First, read the review instructions from /tmp/review-prompt.md using your Read tool. Then follow those instructions to review this PR.' || 'Review this PR for code quality, bugs, security issues, and adherence to project conventions (check CLAUDE.md). Check for previous "Feedback Addressed" comments to avoid re-raising resolved issues. Be strict: REQUEST_CHANGES for any issues found, only APPROVE if genuinely ready to merge. Submit your review using gh api repos/$REPO/pulls/$PR_NUMBER/reviews with inline comments on specific files/lines and event set to APPROVE or REQUEST_CHANGES. Start the review body with: > **Prompt:** Fallback (centralized prompt fetch failed)' }} + ${{ steps.prompt.outputs.use_file == 'true' && 'First, read the review instructions from /tmp/review-prompt.md using your Read tool. Then follow those instructions to review this PR.' || 'Review this PR for code quality, bugs, security issues, and adherence to project conventions (check CLAUDE.md). Check for previous "Feedback Addressed" comments to avoid re-raising resolved issues. REQUEST_CHANGES only for Critical issues or for Important issues that name a concrete failure scenario (inputs or state leading to a wrong result); otherwise APPROVE and post the rest as inline Suggestions. Submit your review using gh api repos/$REPO/pulls/$PR_NUMBER/reviews with inline comments on specific files/lines and event set to APPROVE or REQUEST_CHANGES. Start the review body with: > **Prompt:** Fallback (centralized prompt fetch failed)' }} Use the REPO and PR_NUMBER variables provided above. # Tools required by the centralized prompt (see contrib/prompts/claude-review.md). - # Model: opus (Claude Opus 5) — matches the interactive Claude Code default in - # home/.claude/settings.json, at roughly half Fable's price. Bump to --model - # fable if review depth on a given repo turns out to need it. + # Model: the opus alias — matches the interactive Claude Code default in + # home/.claude/settings.json, at well under half Fable's per-token price. + # Bump to --model fable if review depth on a given repo turns out to need it. claude_args: '--model opus --allowed-tools "Read,Bash(gh pr view:*),Bash(gh pr diff:*),Bash(gh pr comment:*),Bash(gh pr review:*),Bash(gh issue view:*),Bash(gh issue comment:*),Bash(gh api:*)"' diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml index daf36f3..e632b77 100644 --- a/.github/workflows/claude.yml +++ b/.github/workflows/claude.yml @@ -46,7 +46,7 @@ jobs: additional_permissions: | actions: read # Deliberately unpinned: @claude responses track the claude-code-action - # default model (Sonnet 5 as of v2.1.197), matching every other repo. + # default model, matching every other repo. # Only claude-code-review.yml pins a model, because review depth is the # thing worth paying for. Ask for a model by name in the @claude comment # when a specific task needs one.