Retrieval
Every query starts with a prune step (namespace, folder, collection, and as-of date), then runs one or both of two retrieval lanes, and always returns path citations you can hand straight to a reader.
Either lane can run alone or together. Each lane fails closed and independently: a soft failure in one lane empties that lane's results without blocking the other.
Hybrid lane
Section titled “Hybrid lane”The hybrid lane fuses three signals from the same Falkor graph: full-text keyword search on the lexical overlay, vector similarity on the vector overlay, and 1-hop relationship expansion on the domain overlay, combined with Reciprocal Rank Fusion. Full-text and vector run together; relationship expansion then walks from those seed chunks. This is the default lane for direct questions and keyword-shaped queries, and it works the moment a namespace reaches searchable_embedded.
Tree-walk lane (PageIndex-style)
Section titled “Tree-walk lane (PageIndex-style)”The tree-walk lane treats the structural overlay as a navigable table of contents. A router model reads section titles, summaries, and page ranges, and your recent conversation context, then decides which branches are worth opening, without ever seeing full chunk text during the walk itself.
Chunk 12Chunk 13Chunk 27namespace/path.md > 2. Section > 2.1 Subsection (pp. 4-5)The tree-walk lane sends titles, summaries, and page ranges to a router model, not full chunk text. The router returns the node ids worth opening; only then are covering chunks hydrated from Falkor for the answer.
Only after the router picks nodes does Fontana hydrate the covering chunks from Falkor and inject them into your agent’s context, with a full path citation (namespace/path.md › Section › Subsection, pages 4-5) attached to every quote. Fontana’s tree-walk uses a bounded search: depth 4, branch factor 3, and up to 12 node expansions per walk, tuned for latency over exhaustive coverage, since outline tokens are small and the router only needs to be fast and reliably structured, not deeply creative.
Entity navigation
Section titled “Entity navigation”Entity navigation starts from a named entity (found by exact match, a keyword mention, or a vector-similar candidate) and expands N hops along typed relationships, returning the evidence quotes behind each edge. This is the lane KG Studio’s domain graph view uses for “show me what connects to ESMA,” and it is available to agents as a direct tool call.
Path citations
Section titled “Path citations”Every retrieval lane returns citations shaped as namespace/path › Section › Subsection, pages, not a bare chunk id. This means an agent’s answer, or a KG Studio result, always has a human-readable trail back to the exact document section a claim came from, and clicking a citation opens the Reader view at that location.
Collection and as-of scoping
Section titled “Collection and as-of scoping”Retrieval accepts a collection filter and an as-of date. This keeps regulated, versioned corpora from mixing unless you explicitly ask for both: a query scoped to mifid-3 never silently blends in mifid-2 chunks, and an as-of query only sees relationships that were valid at that point in time. See Collections and temporal for the full model.
Soft failure per lane
Section titled “Soft failure per lane”Each lane fails closed and independently. If the vector overlay has a transient issue, the hybrid lane still returns full-text and relationship-expansion results rather than an empty response, and the failure is logged for your platform’s observability so you can see it happened without losing the rest of the answer.
Per-agent injection modes
Section titled “Per-agent injection modes”You set how much Knowledge Graph context an agent gets automatically, per agent, in Admin → Agents.
noneNo automatic Knowledge Graph context on any turnNarrow task agents with no KG namespaces assignedtools-onlyAgent must call a KG tool explicitly to retrieve contextTask agents that only need KG on demandhybridOutline prune, then vector search injects top matches before the turnBalanced default for scoped assistantstree-walkRouter model walks the outline with conversation context, then injects hydrated chunksConversational agents (Fontana Agent, workflow agent)You set injection mode per agent in Admin → Agents. Conversational agents default to tree-walk; task agents default to tools-only or none so narrow automations do not pay for context they do not use.
Conversational agents (the default Fontana Agent, and the workflow agent) default to tree-walk so they can follow a conversation into the right section of a long document without you naming it. Narrow task agents typically use tools-only or none, so a single-purpose automation is not paying latency or cost for context it will not use.