There's a hole in almost every AI memory library, and once you see it you can't unsee it: the model that hallucinates is also the thing you've put in charge of the record.
You hand an LLM a conversation and ask it to remember what matters. It reads, it decides, it writes its interpretation into long-term memory as if it were a fact. Three sessions later your app confidently "knows" something the user never said — and you can't even find where it came from. The fox is guarding the henhouse, and it files the incident report afterward.
I spent a long, humbling year on this problem. What I ended up building — and just published as an MCP server — inverts the arrangement completely. The model doesn't get to decide what's remembered. It gets to propose. Deterministic code, with no model and no prompt anywhere in it, decides what's actually admitted.
This post is the honest version: what it does, where it's genuinely strong, where it's weak, and the night — right before I published — that it lied to me and I nearly shipped it anyway.
The thesis: propose, then adjudicate






