← Back to task

Commit 66529950

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