From 179fa338b8da2b62853931218df8ce1ed34836dd Mon Sep 17 00:00:00 2001 From: Tam Nhu Tran Date: Fri, 27 Mar 2026 14:55:22 -0400 Subject: [PATCH] hotfix(ci): increase max-turns to 30 and enforce Write tool for review output - Increase --max-turns from 20 to 30 (large PRs with 31 files need ~25 turns) - Explicitly instruct Claude to use Write tool (not Edit/python3 fallback) - Add READ-ONLY constraint to prevent source code modifications - Previous run hit error_max_turns at turn 21 despite successfully writing review Part of #818 --- .github/workflows/ai-review.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ai-review.yml b/.github/workflows/ai-review.yml index b7096215..96d22d3f 100644 --- a/.github/workflows/ai-review.yml +++ b/.github/workflows/ai-review.yml @@ -242,14 +242,16 @@ jobs: ${{ steps.review-prompt.outputs.content }} ## IMPORTANT: Writing the Review - After completing your analysis, write the final review markdown to `${{ env.REVIEW_OUTPUT_FILE }}`. + After completing your analysis, use the `Write` tool to write the final review markdown to `${{ env.REVIEW_OUTPUT_FILE }}`. + Do NOT use `Edit` tool — use `Write` tool directly to create the file in one shot. Do NOT post any GitHub comments yourself. The workflow will publish the saved file. + Do NOT modify any source code files — this is a READ-ONLY review. End your review with: > 🤖 Reviewed by `${{ env.REVIEW_MODEL }}` IMPORTANT RULES: - - Overwrite `${{ env.REVIEW_OUTPUT_FILE }}` + - Use `Write` tool to overwrite `${{ env.REVIEW_OUTPUT_FILE }}` with the complete review - Do NOT use shell operators like || or && in bash commands - Do NOT use heredoc (<<) syntax in bash commands - Use simple, single-purpose bash commands only @@ -258,7 +260,7 @@ jobs: --bare --model ${{ env.REVIEW_MODEL }} --permission-mode bypassPermissions - --max-turns 20 + --max-turns 30 --allowedTools "Glob,Grep,Read,Write,Bash(gh pr diff *),Bash(gh pr view *),Bash(git diff *),Bash(git log *),Bash(git show *),Bash(cat *),Bash(ls *),Bash(wc *),Bash(head *),Bash(tail *),Bash(find *)" # Fallback: if Claude didn't write the review file, extract from execution output