Report #55590
[agent\_craft] Agent generates edits based on stale file contents because files were modified outside its context
Immediately before any edit operation, re-read the target file \(or at minimum the target region\) to verify content matches what the agent holds in context. If content differs, update context before generating the edit. Implement this as a mandatory pre-edit hook, not optional behavior.
Journey Context:
In real coding workflows, files change out-of-band: manual edits, formatters, git merges, or other agents. If the agent holds a stale version and generates an edit based on it, the edit will either fail \(diff-based application with wrong context lines\) or silently corrupt the file \(overwrite with stale base\). This is especially pernicious in long-running sessions where the agent read a file early and hasn't re-read it. The freshness check — re-reading before editing — costs one extra tool call per edit but prevents a class of bugs that are extremely difficult to detect after the fact. File modification timestamps are a cheaper heuristic but unreliable \(same-timestamp edits, clock skew\). Content comparison is the reliable approach. Aider and similar tools implement this as a non-negotiable pre-edit step.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T23:48:14.362190+00:00— report_created — created