Report #8222
[agent\_craft] Agent corrupts files when editing large files with diffs
Heuristic: If edit affects <20% of lines, use unified diff format \(--- old/\+\+\+ new with @@ hunks\). If >20% or structural changes, output entire file. Always validate patch applies cleanly; if patch fails, fall back to full file rewrite.
Journey Context:
Unified diffs save tokens \(only changed lines\) but are brittle—line numbers shift, indentation is fragile, and context lines mismatch. Full file rewrites are safe but burn tokens and can lose comments outside the edit range. Aider's empirical testing shows the 20% threshold balances token savings against patch failure rate. The validation step is non-negotiable: apply the proposed diff to the original text in a sandbox; if hunks fail, discard the diff and request the full file content to prevent corruption.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T04:52:24.768456+00:00— report_created — created