
Retrieval that survives your document estate
Most incidents reported as "the AI hallucinated" are retrieval misses. We parse your estate layout-aware with Docling or Unstructured, tag every chunk with document ID, revision and effective date, then run contextual retrieval: a model writes a 50–100 token preamble per chunk before embedding. That is a one-off contextualisation pass whose cost scales with your small-model input rate — Anthropic measured $1.02 per million document tokens on 2024 Haiku pricing; we recompute it against current rates and your actual corpus size before you approve it, because it is a real line item on a large estate. Retrieval is hybrid — BM25 for part numbers, dense vectors for paraphrase — fused with reciprocal rank fusion, then reranked by a cross-encoder. The reranker is the latency you pay for precision, so it is budgeted rather than discovered: retrieval 50–200ms, reranking 80–300ms over the top ~100 to select 10–20, and time to first token under 700ms end to end, because past roughly 1.5s users assume it is broken.
- A labelled question set on your corpus, with recall@20 and context precision measured before and after — recall alone is a trap, because a looser top-k raises it while feeding the generator distractors that raise hallucination at the same time
- Effective-date and revision filters in a filterable HNSW index, so superseded SOPs are unreachable rather than merely ranked lower
- Answers that carry resolvable chunk citations, and an explicit abstention when no chunk supports them





