Report #88889
[agent\_craft] RAG-retrieved code snippets lack structural context, causing incorrect edits with missing imports or wrong scope
Use a two-phase loading strategy: \(1\) RAG for discovery — find the relevant files and functions. \(2\) Full-file load for editing — before making any edit, load the complete containing file, or at minimum the complete class or module. Never attempt an edit based only on a RAG snippet.
Journey Context:
RAG is efficient for finding relevant code, but code snippets extracted by RAG are stripped of their structural context — imports, class definitions, decorator stacks, and surrounding functions. An agent that tries to edit based on a snippet will frequently generate code that is missing imports, placed at the wrong indentation level, or unaware of class methods it should be calling. The two-phase approach costs more tokens but dramatically reduces edit failures. The key optimization is to use RAG results as a pointer \(which file, which function\) rather than as the content itself. Some implementations try to expand snippets with ±N lines of context, but this is a half-measure that still misses module-level imports and class structure.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T07:47:20.482572+00:00— report_created — created