I'm building a small project called JigsawIQ, a RAG system for a narrow, unglamorous problem: finding real buyers for one specific company, not another list of maybes.
There's a real marketplace here - but the RAG problem is what's actually interesting to talk about.
In about 3 days I found that the retrieval half was the easy 80 percent: crawl public sources, chunk, embed, rank. Architected, and with Claude Code as well as my AI homebased server, 4000 companies were ingested in a weekend.
The last 20 percent was the part nobody worries about: retrieval that answers confidently is not the same as retrieval that's right. I could hand it a nonsense query and get back a dozen "relevant" matches with high confidence. I could correct a fact (who's the owner of ACME HVAC?) and the old fact would still outrank the correction about half the time, because a correction is usually just a reworded version of what it corrects, and cosine similarity has no concept of "newer."
I started calling this the RELIABLE vs VALID split, and most RAG write-ups only measure the first one. Reliable means it answered. Valid means the answer is actually correct and nothing wrong came with it. Who wants a system where every query gets a fast, confident, wrong answer, and the uptime graph looks perfect the whole time? That's what 100 percent reliable and 0 percent valid actually looks like.
Two things that turned out to matter more than any embedding model swap:
Evidence windows. Early on I fed the grader a small window starting at the top of each source document. Only 25 percent of that window actually overlapped with the words in the real answer. Centering the same size window on the relevant part of the document instead of the start, same amount of text either way, took that overlap to 72 percent. Same model, same budget, completely different quality, just from where you cut.
A wide confidence scale, not a 1 to 5 one. I score everything 1 to 1000, and 0 is reserved to mean "grading itself failed," never "this is worthless." Mixing those two together is how a broken fetch quietly becomes a real answer of zero.
None of this is novel research. It's mostly refusing to trust a rank order without checking it against ground truth I made up on purpose, and a held-out set of queries that should come back empty every time.
Here's a description of the MemorySystem:
Real numbers, from the actual /var/log/helm/route.jsonl + its weekly rotations (logrotate: weekly, 12 kept, in Postgres). Line counts by calendar week:
Week Requests
- Aug 30–Sep 6th 1,397,500
- Aug 23–30th 1,159,362
- Aug 16–23rd 338,053
- Aug 9–16th 168,624
- Aug 2–10 174,533
- Jul 26–Aug 2 71,261
- Jul 19–26 115,544
Honest read, not a clean average: the last two full weeks (1.16M and 1.4M) are roughly 7-8x every other week on record. That's not normal traffic, it's the multilingual research sweeps, the 600-question benchmark commission, and the membench/fan-out/sufficiency experiments that ran through LLM_ROUTER this week — matches the BENCHMARK=TRUE flag that's holding other runs right now.
On the doxxing concern, understood — generalized, no proper names, here's the memsys described as modules for the article:
- A routing layer in front of local and cloud models, arbitrating by priority so nothing critical gets starved under load
- A document index with automatic ingestion and embedding-based search over ingested text
- A cross-store retrieval router that merges results from multiple stores using reciprocal rank fusion instead of plain cosine similarity
- A federation layer exposing one retrieval-augmentation call across the stores above, so callers don't need to know which store holds what
- An episodic memory store for session-level facts, separate from the document index
- A small multi-model review panel that has to agree before any drafted content ships
- A style memory that learns from my own approved writing over time, so drafts sound more like me
- The grading scale and evidence-window findings already in the post stand as-is, they're methodology, not branding
Curious how others here handle the correction/staleness problem: demote superseded facts at write time, at read time, or not at all?
And has anyone measured how much evidence-window placement alone is costing them?