Goal
Keep the first startup pass as narrow as possible: collect only what startup immediately needs, and defer richer structures until later.
Why
We already know the gap with fff is mostly time-to-search-ready vs full code-intelligence startup. The first pass should optimize for readiness, not completeness.
Scope
- Define exactly which structures are required for:
tree
outline
find
hot
- first search-ready path
- Defer non-critical structures until after startup readiness.
- Make the startup contract explicit in status/reporting.
- Preserve the fast warm mmap-backed search path.
Acceptance Criteria
- Startup-critical commands become available before the full detailed index finishes.
- Deferred work does not block the first user-visible tool call.
- Warm search path remains on par with current
main.
- Metadata-only commands do not eagerly materialize unnecessary content/search state.
Regression Checks
Add explicit tests and benchmarks:
- Status test proving startup-ready and detailed-ready are distinct states.
- First-query MCP search benchmark immediately after startup on a large repo.
- Warm repeated MCP search benchmark after readiness.
- Cold
tree benchmark with fresh HOME.
Merge Gate
Do not merge if any of the following regress beyond threshold versus main:
- Warm first MCP search: > 5%
- Warm repeated MCP search: > 5%
- Cold
tree wall time: > 5%
- Result correctness / parity: any regression is blocking
Notes
This issue should not reintroduce the earlier dead-end path where deferred detailed work starved or blocked the first search.
Goal
Keep the first startup pass as narrow as possible: collect only what startup immediately needs, and defer richer structures until later.
Why
We already know the gap with
fffis mostly time-to-search-ready vs full code-intelligence startup. The first pass should optimize for readiness, not completeness.Scope
treeoutlinefindhotAcceptance Criteria
main.Regression Checks
Add explicit tests and benchmarks:
treebenchmark with freshHOME.Merge Gate
Do not merge if any of the following regress beyond threshold versus
main:treewall time: > 5%Notes
This issue should not reintroduce the earlier dead-end path where deferred detailed work starved or blocked the first search.