JEREMY CAPPS
← Blog
EssaySystem note · September 2026

Production RAG, Personal Corpus

The chatbot on this site is not a demo. It is a production-grade retrieval-augmented agent — grounded answers, abstention, a review-gated evidence pipeline, versioned claims. The engineering is what an enterprise deploys on its own data. The only difference is the corpus: I built it on the one I have complete access to and authority over — my own work logs.

The claim

The assistant on this site is a product, not a demo. It is a production-grade retrieval-augmented generation (RAG) agent, built to the reliability bar a company would require before letting a model answer on its behalf: every answer is grounded in retrieved, source-backed claims; it abstains when the corpus does not cover the question instead of inventing; claims are versioned, so a superseded position is kept as history and never presented as current; and the material it draws on passes a review-gated pipeline, not a model's unconstrained say-so.

That is the same system you would deploy inside an enterprise. The difference — the only meaningful one — is the data it runs on.

Why it runs on me

An enterprise RAG agent is trained on enterprise data: the tickets, docs, decisions, and threads a company accumulates. I can't get my hands on that data — it belongs to companies I don't work for yet. So I built the agent on the one corpus I have complete access to and authority over: my own work logs. Years of AI-assisted sessions — the decisions, the dead ends, the systems I designed — extracted into an evidence corpus the chatbot answers from.

Swap the corpus and the system is unchanged. The retrieval, the grounding, the abstention, the versioning, the gate — none of it cares whether the source is a company's Confluence or my own transcripts. The corpus is a detail. The engineering is the thing that transfers, and the engineering is what I'm showing you.

What "production-grade" means here

The failure mode of a naive RAG system is that the model rewrites facts on the way out — it regenerates freely and reintroduces things the sources never said. The reliability pattern that production guidance converges on is to separate finding the material from stating the fact: let the model locate what's relevant, but let deterministic code state the claim, retrieved by identifier from a reviewed source and never re-written. This site's pipeline is built on that split, end to end:

  • Grounding by source. Answers are assembled from retrieved claims, each tied back to where it came from. The model writes prose over evidence; it does not supply the evidence.
  • Abstention. When retrieval returns nothing, the agent says the logs don't cover it. A grounded "I don't know" beats a confident fabrication.
  • A review-gated evidence pipeline. Claims are extracted from my logs by a model, then pass a gate — most auto-publish, a random sample is audited, and anything sensitive is held back. The gate turns "it might leak" into a measured miss rate.
  • Versioning. Claims carry supersession links, so "what I think now" and "what I thought earlier" stay distinct. The current position always travels next to what it replaced.
  • Load-bearing questions answered deterministically. The questions a recruiter actually asks — what I'm working on, what roles I want — resolve to hand-authored, source-backed cards, not model guesses, with grounded prose as the fallback.

None of this is exotic. It's the boring, load-bearing engineering that separates a RAG demo from a RAG system you'd let answer for you.

The point

Most portfolios describe the thing the candidate can build. This one is the thing. I didn't write a case study about production RAG; I shipped a production RAG agent and pointed it at myself, because that was the data I could reach. If you want to know whether I can build a grounded, abstaining, review-gated retrieval system for your data, the fastest answer is to interrogate the one running on mine.

Ask the assistant.