Architecture
The first week is in the org, reading what already exists. A vector store finds text that looks like your question. It does not know what was decided last quarter, or that this customer already refused the upsell twice. Three layers, kept separate. The honest no: if the work is a software factory with a named delivery date, we are the wrong partner.
What it is
Conflating them is the most common architecture mistake we inherit. Each layer has a different owner, a different retention rule, and a different failure.
Retrieval
Pure vector search fails on exact identifiers. Pure keyword search fails on meaning. Production retrieval runs both and then pays for precision at the end.
01
Decompose the question
Intent, metadata filters, and where useful a hypothetical answer to embed. HyDE-style expansion lifts recall on vague questions.
02
Retrieve two ways at once
Embeddings for meaning, lexical search for part numbers and clause references. Fuse the two ranked lists rather than picking a winner.
03
Traverse the graph
Entity and theme indexing, LightRAG-style, so a question that spans documents does not lose the link between them.
04
Rerank and compress
A cross-encoder scores the shortlist properly, then weak passages are dropped. Less context, better answers, lower spend.
05
Check what you already know
Durable memory is read before the model answers, so the agent does not re-litigate a decision the business already made.
flowchart TD
Q["Question"] --> D["Decompose: intent, filters, hypothetical answer"]
D --> V["Dense retrieval: embeddings"]
D --> K["Lexical retrieval: exact terms and identifiers"]
D --> G["Graph traversal: entities and themes"]
V --> P["Fused candidate pool"]
K --> P
G --> P
P --> R["Cross-encoder rerank"]
R --> C["Compress to the passages that earn their tokens"]
C --> M["Durable memory: what we already decided"]
M --> A["Answer or tool call"]Why it matters
Your team will forgive a slow answer. They will not forgive being asked the same question every morning.
In an org
Same three layers, different words for them.
How Mindcat helps
Context before agency. Dirty data stalls agents, and no framework fixes that.
Questions
Next
The brief
We will tell you which layer that belongs in, and what it may not store.