We have a lazy mental model of what makes a memory stale, and it is costing us. The model is age. Old memories are suspect, recent ones are fresh, so you decay the old stuff and trust the new. Recency weighting, time based decay, a half life on every note. It is clean, it is cheap, and it is wrong often enough to matter.

Take the case that broke it for me. You write a memory today about how some module works. Tomorrow you refactor that module. The memory is one day old, as fresh as it gets, and it is already poison, because it describes a thing that no longer exists. Every recency score in the world says trust this, it is new. Reality says throw it out, it is about a deleted thing. Age had nothing useful to say.

Now run it backwards. You have a memory about how your auth flow works, written a year ago. Auth has not changed since. By age that memory is ancient and you would weight it down, maybe drop it. But it is perfectly current, because the thing it is about is still standing exactly as described. A year old and completely live.

So age is not the question. The question is whether the thing a memory is about is still here, still on the path you are actually on. That is lineage, not time. A memory is fresh or stale based on the health of whatever it is attached to, and the clock is at best a weak proxy for that.