October 6, 2026/4 min readTelling users the truth about ingest timeIn short: a tool that runs local models on a laptop is slow at bulk work, and a large photo import can run for hours, often overnight. I put that sentence near the top of the setup guide, before the…
September 8, 2026/5 min readGrounded answers or honest refusals: a rule for retrieval over personal filesIn short: when a system answers questions over someone's own files, there is one rule I would not trade for anything: every answer quotes the person's own sources verbatim, or it is an honest refusal.…
August 25, 2026/5 min readA second legal system: what breaks when a legal pipeline changes countryIn short: taking a legal pipeline built for Canadian law to a second legal system is less about code that crashes than about assumptions: that a document is in English unless told otherwise, that a…
May 5, 2026/4 min readCitations that point at the wrong paragraphIn short: a citation can be wrong in at least seven different ways, and only two of them involve the model. Most come from how long documents were cut into chunks. Name each failure, and give each one…
April 21, 2026/5 min readWhen BM25 beat the embeddingsIn short: on legal text, a keyword ranking function from the 1990s wins a whole class of queries that dense embeddings lose: citations, section numbers, defined terms. I run both and fuse the…
April 7, 2026/5 min readHow I evaluate retrieval before anyone asks a questionIn short: before a single user types a question, I write the questions myself, mark which passage answers each one, and measure how often that passage comes back in the top k. That one number, recall…
March 24, 2026/5 min readLaws have versions, and most RAG pretends they don'tIn short: a section of a statute is not one text, it's a series of texts, each in force for a stretch of time. If your retrieval only knows the current one, it will answer a question about 2021 with…
March 10, 2026/5 min readIngesting a country's law when every province has its own formatIn short: Canada's legislation lives on a different website for nearly every province and territory, as PDFs, Word files, an XML API and plain web pages. When a product depends on that text, the…
January 13, 2026/5 min readRAG with a persona: when the knowledge base and the character disagreeIn short: when a character and its knowledge base disagree, let the knowledge base win on content and the character win on voice, and let safety rules beat both. You enforce that in how you build the…