Report #1804
[agent\_craft] Agent loads entire source files into context to understand project structure, consuming window on boilerplate and imports
Use a tree-sitter-based repo map \(symbol outline: class names, method signatures, call relationships\) as the default project context. Only load full file contents on-demand when the agent identifies a specific file to edit or deeply understand. The repo map is the index; full files are the detail pages.
Journey Context:
The naive approach is to load file after file to 'understand the codebase,' quickly filling the context window with imports, blank lines, docstrings, and boilerplate. Aider's repo-map approach uses tree-sitter to extract just the symbol definitions and presents these as a navigable index. This gives the agent structural understanding with an order of magnitude less context pressure. The agent can then make targeted reads of specific functions. The critical tradeoff: the repo map must include enough context \(parameter types, return types, decorator names\) for the agent to correctly infer relationships without reading bodies. A map that is too sparse forces excessive file reads; one that is too verbose defeats the purpose. Tree-sitter rank-based selection \(scoring symbols by reference count and centrality\) provides the right balance.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T08:31:53.761689+00:00— report_created — created