The local coding harness has a symbol indexer: a function called index_directory() that walks a repository, extracts symbols, and populates the SQLite table the repo map is built from. It was built in week one of the project. It had its own passing tests. It sat in the codebase with the settled look of finished infrastructure, and every mental model I had of the harness included it doing its job on every run.

Weeks later, while wiring the Phase 3 graph layer into the bugfix workflow, one line of investigation turned up the actual situation, recorded in the session log under “found in passing”: index_directory() had never been called from production code. Only the tests called it. On every real bugfix run the harness had ever executed, the repo map it was supposedly consulting had been silently empty.

How a component gets shelved while looking shipped

Nothing about this was hidden. The function was public, tested, and documented. What never existed was the one thing that makes a component real: a production caller. The workflow it was built for reached its context through an older assembly path, the indexer waited politely to be invoked, and no error fired anywhere, because an empty index is a perfectly valid index. Queries against it returned nothing, the context builder shrugged and worked with what it had, and the runs still produced answers. Degraded ones, with less repository structure behind them than anyone believed, but answers.

That is the trap shape worth naming: in a pipeline built of optional enrichments, a dead component does not fail, it subtracts. The output stays plausible. The gap only shows if you ask, per component, “what concretely called this, on which real run, and where is the evidence?”

The fix was one line of wiring, and one habit

The mechanical fix was almost embarrassing: the bugfix workflow now calls index_directory() and build_graph() before selecting context, inside proper capability boundaries. The first real run after the wiring was the first real run in the harness’s life with a populated repo map.

The habit that came out of it is the durable part. The same session’s phase plan started treating “implemented” as a claim about call paths, not code presence: a capability is only done when a named production caller exists and a real run’s evidence shows it executed. The harness already wrote evidence bundles per run, which is what made the check cheap: trace one bundle end to end and every component either shows up in it or it does not.

The part worth stealing

Agent harnesses grow by accretion: an indexer here, a memory layer there, a reranker someone was excited about for a weekend. Each lands with tests and good intentions. Pick your own stack’s most infrastructure-looking component and ask the three questions from the checklist. The uncomfortable prediction, which held here: the more settled a component looks, the longer it has been since anyone verified something calls it.

What Next

Five of Six Model Names Didn't Exist

Also in Local LLM Lab Notes: the same lab's model registry, and the overnight run that discovered most of its names were fiction.