LLM Memory Confabulation Halved: 45.1% to 22.4%

Every agent memory system I've benchmarked has the same quiet failure mode: the store grows without bound, stale facts crowd the retrieval window, and the model confidently answers using information that expired three weeks ago. Mem0 — the most widely deployed of the lot — confabulates on 45.1% of answered queries under a stale-context stress benchmark. A paper published yesterday, Fortunate Recall (arXiv 2609.10413), cuts that to 22.4% while also answering more questions correctly (31.2% vs 18.6%). But the headline number isn't the interesting part. The ablation is.

The problem: memory without lifecycle

Current memory systems treat every personal fact identically — ingest, embed, retrieve. Nothing decides which facts should expire, which should be superseded ("moved to Berlin" should retire "lives in Munich"), and which decay slowly. The result is unbounded growth and retrieval precision that degrades as stores grow. The authors call this lifecycle management, and they found the missing piece: what policy applies to a fact depends on its behavioral type, not its semantic content. A payment amount, a preference, a location, a one-time event — each needs different decay rates, supersession rules, and retrieval routing.

The method: policy math, not more model

Fortunate Recall is a policy layer, not a model. One small LLM call per turn extracts each fact and tags it with a category from a 10+1 behavioral ontology, plus a slot key, lifecycle state, an event-time anchor, and ingest time — two independent clocks, bi-temporal. Everything after that is deterministic: differential temporal decay, slot-key supersession, event-time validity, category-aware routing, ranked by a closed-form log-score. Exactly two LLM calls per turn, every lifecycle decision inspectable and millisecond-fast. No RL training, no fine-tuning.

The results: correctness and calibration come from different places

FR-Bank hits 76.9% on their new LifecycleBench (516 questions), ahead of Mem0, A-MEM, Memory-R1, and MemoryOS (61–70.5%), and 75.2% on full LongMemEval-S — meaning lifecycle policies cost nothing on standard retrieval. Then comes the pre-registered ablation that actually earns the paper its keep: replace the typed ontology with three generic lifecycle primitives and correctness barely moves (−1.7pp, 95% CI [−6.0, +2.7]). The generic lifecycle metadata carries correctness; the behavioral ontology carries calibration — confabulation halves (12.0% vs 24.2%, p<0.001). Two mechanisms, not one.

The mechanism is visible end-to-end: a clean retrieval context yields 18–30% confabulation; a stale one yields 72–78%. Stale facts at retrieval rank 1 are 8× more frequent in Mem0 than FR-Bank, and stale contexts only add ~10% reasoning tokens — so the gap is architecture, not compute. The ranking replicates on the open-weight Kimi K2.5 and transfers to BEAM (ICLR 2026), an independently built benchmark: 46.8% vs Mem0's 32.9%.

Limitations the authors actually disclose

This is the rare paper that ships negatives in the body. Three of its four pre-registered predictions were refuted. Every verdict comes from an LLM judge with no human validation — absolute rates are judge-relative. On BEAM, the confabulation reduction did not replicate (it's credited to generic metadata alone there). Slot-key supersession is brittle: over-broad slot keys deactivated entries carrying the current value, causing 12 discordant cases. Abstention is higher than Mem0's (42.1% vs 28.7% of queries) — part of the confabulation win is refusing to answer. And on knowledge-update questions, FR scores −6.4pp on LongMemEval because the canonical judge marks responses correct when stale facts sit alongside updated ones — the benchmark penalizes correct forgetting. No arm ordered events exactly: 0/70 across all systems.

Why builders should care

Two takeaways survive the judge caveats. First: you can buy most of the memory-staleness win with generic lifecycle metadata — slot keys, validity windows, decay — without designing a domain ontology. Reserve the behavioral taxonomy for when confabulation is your actual production incident. Second, the −6.4pp knowledge-update inversion is a warning about your eval: if your judge rewards stale-but-present context, you are optimizing for the failure mode. The authors' causal chain — staleness predicts confabulation end-to-end — is the cleanest evidence yet that memory hygiene, not retrieval quality, is the bottleneck in long-horizon agents.

flowchart LR
    A["Fact ingested"] --> B{"Behavioral type?"}
    B -->|preference| C["slow decay"]
    B -->|location / status| D["slot-key supersession"]
    B -->|one-time event| E["event-time expiry"]
    C --> F["Closed-form log-score ranking
(deterministic, ms latency)"] D --> F E --> F F --> G["Clean context → 18–30% confab"] F --> H["Stale context → 72–78% confab"]

What is Fortunate Recall?

A policy layer for LLM agent memory that classifies personal facts into a 10+1 behavioral ontology and applies category-specific lifecycle rules — temporal decay, slot-key supersession, event-time validity — as deterministic functions over LLM-extracted metadata. It's composable with existing memory infrastructure.

How much does it reduce confabulation?

From Mem0's 45.1% to 22.4% over answered queries (32.2% → 13.0% over all queries), while answering more questions correctly (31.2% vs 18.6%). The ranking replicates on the open-weight Kimi K2.5 and on the independently built BEAM benchmark.

Does the behavioral ontology drive the gains?

Surprisingly, not correctness. A pre-registered ablation showed generic lifecycle primitives match ontology correctness within the confidence interval (−1.7pp, n.s.). The ontology's contribution is calibration: it halves downstream confabulation (12.0% vs 24.2%).

What are the main limitations?

All verdicts come from LLM judges with no human validation; three of four pre-registered predictions were refuted; the confabulation reduction didn't replicate on BEAM; slot-key supersession is fragile under over-broad keys; and FR abstains more often (42.1% vs 28.7%), which flatters the confabulation comparison.