# Why we ship four classes and not a boolean

> Reversible or not reversible is the wrong question. The useful question is what it costs to get back, and who finds out that you tried.

2026-07-15. 6 min. Source: https://www.voidagent.tech/blog/reversibility-classes

The first version of our classifier had two states. It lasted about a week before the first call it classified wrongly.

The problem is that a deleted draft and a sent email both fail a boolean test for undo, but they are nothing alike. One is a local operation nobody observed. The other reached a human inbox and the best you can do is apologise in a follow up.

<a id="reversibility-classes-the-four-classes"></a>
## The four classes

- R0, fully reversible: the prior state comes back byte for byte and nobody outside the system could tell.
- R1, reversible with trace: state comes back, but the change was observable while it existed.
- R2, mitigable only: there is no inverse, only a way to reduce and disclose the damage.
- R3, irreversible: money moved, data was destroyed, or an external party committed. No path back.

The classes are not a severity scale. R1 is not a milder R2. They describe different shapes of recovery, and they need different machinery: R0 needs a snapshot, R1 needs a visibility window, R2 needs a recipient list, R3 needs an approver and an evidence bundle.

> VOID does not promise everything is undoable. It promises you know which class you are in before the agent acts, and that R3 costs budget.

The classes also give budgets something to count. A daily allowance of two irreversible actions is a sentence a risk officer can read and an engineer can implement. A daily allowance of two non reversible operations, where nobody agrees what that means, is a meeting.

---

This document is the markdown form of https://www.voidagent.tech/blog/reversibility-classes, published for agents that read
text rather than a rendered page. It is generated from the same data the page
renders, so the two cannot disagree. Tag: `design`.

