A memory layer over our own working sessions
We built a semantic memory engine over our own engineering corpus. It answers questions about years of work with citations, or says nothing at all.
- sessions in the corpus
- retrieval p50, after the index fix
The problem
Every engineering organization loses its own history. Decisions get made twice. The reason a system is shaped the way it is walks out the door, or scrolls out of a chat window. For an AI-assisted shop the loss is worse: thousands of working sessions, each full of decisions, dead ends, and fixes, and none of it queryable.
We had 6,160 of those sessions. We treated them as a database.
The system
An ingestion pipeline chunks and embeds every working session as it happens. Retrieval is hybrid: lexical and semantic search fused with reciprocal rank fusion, then reranked. A synthesis layer answers natural-language questions against the corpus and cites the specific sessions it drew from.
Two design decisions did the most work:
Honest-empty. When the corpus has no answer, the engine says “nothing found.” It never pads, never fabricates a memory. A memory layer you cannot trust on the empty case is worse than no memory layer.
Recency-aware modes. “What did we decide” and “where are we now” are different questions. Current-state queries bias ranking toward newer material so resolutions outrank stale design chatter; historical queries stay unbiased.
The engine runs as an MCP server, so every agent in our fleet queries institutional memory mid-task, the same way it reads a file.
Receipts
- 6,160 sessions ingested and searchable (2026-07)
- Retrieval p50 8.8s → 157ms after an index migration, recall 1.000 (2026-06)
What this means for you
Your organization already generates this corpus: tickets, PRs, chats, docs, call notes. Nobody has built the memory layer over it yet. We build the same class of system over your material: ingestion, hybrid retrieval, cited synthesis, wired into wherever your people or agents already work.