Commit cf09b9b
committed
gather: deterministic context-pack tool (aft_gather)
One call assembles a bounded context pack — ranked, deduped, budgeted verbatim code evidence — replacing the serial search → outline → zoom → callgraph read chain.
- Two modes (XOR): question (seeds via handle_semantic_search, same pipeline as aft_search) or symbol+filePath (callgraph impact depth-1 callers + call_tree depth-1 callees)
- 1-hop neighbor expansion; dedupe by canonicalized (file, symbol), seeds win
- Hard line budget (default 400, cap 800) via render_symbol_within_budget; over-budget candidates emit as visible stubs — nothing silently dropped
- Grep-fallback hits resolve to their containing symbol by line containment; no-symbol hits stay visible stubs
- Semantic-index-building degradation flagged in the pack header (semantic_status), suppressed when any symbol-level seed resolves
- Unresolved external callees collapse to one summary line; unresolved seeds/callers never suppressed
- Follows the tri-state honest-reporting convention (protocol.rs Response doc-comment)
- 22 unit tests incl. red-checked regressions; no new dependencies, no LLM calls, no caching1 parent e8990d9 commit cf09b9b
7 files changed
Lines changed: 1617 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| 97 | + | |
97 | 98 | | |
98 | 99 | | |
99 | 100 | | |
| |||
0 commit comments