commit 66529950ff99fd96b8e15f1e0da3a6b6add98bd3
Author: Ben Sima <ben@bensima.com>
Date: Mon Dec 1 16:13:00 2025
Add prompt guidance for large file editing
Instructs the agent to:
- Use line ranges when reading large files (>500 lines)
- Use minimal context for edit_file old_str matching
- Re-read exact lines after failed edits
- Stop after 2-3 failed edits to reconsider approach
- Flag very large files (>2000 lines) for refactoring
Task-Id: t-225
diff --git a/Omni/Agent/Worker.hs b/Omni/Agent/Worker.hs
index d79adaab..c52d4a9e 100644
--- a/Omni/Agent/Worker.hs
+++ b/Omni/Agent/Worker.hs
@@ -377,6 +377,12 @@ buildBasePrompt task ns repo =
<> "- Do not re-run passing tests\n"
<> "- Do not test files individually when namespace test covers them\n"
<> "- Aim to complete the task in under 50 tool calls\n\n"
+ <> "LARGE FILE HANDLING:\n"
+ <> "- When reading large files (>500 lines), use line ranges to read only relevant sections\n"
+ <> "- For edit_file, use minimal unique context - just enough lines to match uniquely\n"
+ <> "- If edit_file fails with 'old_str not found', re-read the exact lines you need to edit\n"
+ <> "- After 2-3 failed edits on the same file, STOP and reconsider your approach\n"
+ <> "- Very large files (>2000 lines) may need refactoring - note this for human review\n\n"
<> "Context:\n"
<> "- Working directory: "
<> Text.pack repo