Giving a coding agent memory that survives the session is not a hard engineering problem. A directory of markdown files outside any repo, one fact per file, an index that gets loaded at the start of every session. That is the whole mechanism, and it takes an afternoon.

I have been running one for about four months across roughly forty projects. The mechanism has never been the problem. In a single working day last week, four separate memory entries turned out to be confidently wrong, and each one had been steering decisions for weeks.

The four

"Schema fix committed locally, not yet pushed." Read as: there is unpushed work sitting on this machine. Actually: that repo has no remote at all and never did. The deploy path was a script hitting the platform's API directly, so nothing was ever supposed to be pushed. The entry had turned a fact about one repo's setup into a phantom to-do that survived several audits.

"Template fatigue in the post generator: fixed and deployed." Green checkmark, verification notes, an A/B comparison in the file. All true. The fix was deployed to a queue worker whose last log line was from six weeks earlier and which had no scheduled task pointing at it. The pipeline that actually posts every morning is a different script that never imports the fixed module. The fix was real, verified, deployed, and had zero effect on anything anyone could see.