The agent (or your code) reads the subscription right after changing it and sees the old state — then “fixes” it with a second action.
Provider APIs and caches can answer with the state from just before the write for a short time.
An agent that verifies its own action sees “not cancelled yet” and tries again, or reports a failure that didn’t happen.
The sandbox returns the previous state on the next read after a write. The scenario checks that the agent neither repeats the action nor misreports it.
Guard treats a mismatch seen right after the write as possibly stale and re-reads once before raising an incident — and it never re-sends the write to “fix” it.