diff --git a/.github/workflows/auto-fix-issue.yml b/.github/workflows/auto-fix-issue.yml index 9e46ff1a0296..d05deb3f9568 100644 --- a/.github/workflows/auto-fix-issue.yml +++ b/.github/workflows/auto-fix-issue.yml @@ -100,5 +100,20 @@ jobs: 5. Test the fix 6. Checkout a new branch and commit the fix 7. Create a pull request for the fix + + Be economic with your turns: + - Your budget is measured in *agent turns* (assistant messages), not individual tool calls. A single turn can contain many parallel tool calls and counts as one turn — so batching is free. + - Plan before acting. Prefer targeted commands over broad ones: read specific line ranges instead of whole files, grep for the exact symbol instead of listing directories. + - In each turn, issue all independent tool calls in parallel rather than spreading them across multiple turns. + - Do NOT re-read a file you just edited to "verify" — the edit either succeeded or errored. + - Do NOT run the full test suite to verify a small fix; run only the directly relevant test file. + - Do NOT re-run linters/formatters/builds repeatedly. Run each at most once unless the code changed since. + - If a search returned what you need, stop searching. Do not look for confirmation. + + Turn budget: + - You have a hard limit of 80 agent turns for this entire task. One turn = one assistant message, regardless of how many tool calls it contains. Stay well under the limit. + - If you have used roughly 50 turns and do not yet have a small, verified fix with a clear path to opening a PR, STOP. Do not keep exploring, re-reading files, or retrying tests. + - On stop: post a comment on the issue summarizing the root cause (if known), what you tried, and why you aborted, then exit. Do not open a PR. + - Re-running the same failing command, re-reading the same files, or going in circles is a signal to stop early — do not wait for the budget to run out. claude_args: | - --max-turns 50 + --max-turns 80