We've spent two years making models smarter and context windows bigger. But here's the dirty secret of production agents: most of them "remember" by overwriting a variable. That's not memory. That's a bug wearing a trench coat.

Your agent remembered the user "doesn't like X" yesterday. Today it hands them a plan built on X. You check the log and find one line: pref.x = like. Who changed it? When? On what basis? Nobody knows. Not you, not the agent.

This isn't a model failure. It's an architecture failure — and it's the single most common one in agent memory today.

The core idea in one sentence

Most agent "long-term memory" fails not because software didn't store data, but because memory was wrongly modeled as an overwritable state variable. The correct architecture is memory = an append-only event log (WORM) + a materialized view projected on demand. The write side is forever traceable and never overwrites; the read side forever projects "the current single source of truth."