Report #95321
[agent\_craft] Agent retrieves context based on user query text but misses dependencies needed for the planned action — 'I didn't know that module was involved'
Use plan-then-retrieve: after forming even a rough action plan, do a second retrieval pass targeting the files, modules, and APIs the plan references. First pass: retrieve based on the user's question. Form a plan. Second pass: retrieve based on the plan's dependencies. This catches transitive dependencies that pure query-semantic retrieval always misses.
Journey Context:
Standard RAG retrieves based on semantic similarity to the user's question. But the user asks 'fix the login bug' and the agent needs to know about the auth middleware, the database schema, and the error handling patterns — none of which are semantically similar to 'login bug.' Query-based retrieval gets the auth controller but misses the middleware it calls and the schema it writes to. The agent then makes an edit that breaks the middleware or violates the schema. Plan-then-retrieve is a two-pass approach that addresses this: the first pass orients the agent, the second pass grounds the plan. The extra retrieval pass costs latency and tokens but dramatically reduces the 'unknown dependency' class of errors — the most dangerous kind because the agent doesn't know what it doesn't know. This pattern is formalized in DSPy's multi-hop retrieval and is related to iterative retrieval in advanced RAG architectures.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T18:34:28.614503+00:00— report_created — created