Report #93077
[agent\_craft] Agent loads entire files into context to understand codebase structure, consuming window with implementation boilerplate
Use a repo map \(symbol table / code skeleton\) as the primary navigation context — class names, method signatures, imports, and call relationships — rather than full file contents. Only load the specific function or section being modified into full context. Generate the map with tree-sitter or ctags.
Journey Context:
When an agent needs to understand a codebase, the instinct is to read entire files. But most of a file is implementation detail irrelevant for navigation. Aider's repo map approach uses tree-sitter to extract just the symbol definitions and signatures, creating a compact map that fits in a few thousand tokens but gives the agent enough structure to navigate the entire project. The agent uses the map to identify which specific function or class to read in full, then loads only that section. This is analogous to how humans navigate code: we look at the file outline first, then drill into specifics. The repo map pattern reduces context consumption by 10-50x for navigation tasks, leaving dramatically more room for the actual code being modified and the reasoning about it. Without this, agents working on medium-to-large codebases spend most of their context budget on files they never edit.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T14:49:00.431716+00:00— report_created — created