Technology · Discipline

Evidence-grounded LLM output

A model in my systems may narrate evidence it was handed; it may not produce evidence.

FAFOHive's memory capabilityCode graph and indexAny supported model provider
One explanation, five steps anchorstraversefilter edgeshydratenarratecoverage incompletecomputed before any model is called

Compute first, narrate second

Engineers act on a model's explanation of how code works, and a fluent explanation can include call paths that do not exist. In FAFOHive I decided the explainer would compute first and narrate second, with that order enforced in code: explain_code_path does every structural step before a language model is called, using the parser-built code graph and the index, so every structural statement in an answer comes from a computation that already ran. Each request is pinned to one graph generation, so the path, the code and the narrative all describe the same version.

graph generation 1graph generation 2graph generation 3one request

Filtering in the data layer, refusing in the open

Filtering happens in the data layer, so the model never sees an unresolved edge it could build on. When the graph does not fully cover the files a query touches, the tool returns a typed "coverage incomplete" result and has no fallback to free-form explanation. I refused a caveated fallback on purpose.

the promptresolved edges onlydashed orange: unresolved, dropped in SQL

A caveat attached to a plausible guess is the first thing a reader stops seeing.

Citations, and the same contract for every provider

Every answer carries file and line references, so a reader can check the prose against the code it cites in seconds. Any of the language-model providers the service supports can do the narration, including a local open model; the contract binds every one of them, so swapping a frontier model for a local one changes the prose and leaves the structure untouched.

explain a code pathgraph, computednarrationtrace dependenciesgraph, computedno model called

The full account, including why I refused a fallback, is A code explainer that is not allowed to invent.