Real work does not move from left to right.
It waits. It loops. It reacts. Several things happen at once. Resources are shared. Humans intervene. Conditions change while the system is running.
DAGs describe paths through work that moves forward once. Long-lived agentic systems must also represent cycles, concurrency, synchronization, contention, and change.
When a DAG reaches its limits, coordination leaks into databases, callbacks, polling, locks, schedulers, imperative glue, or the context of an orchestrating agent.
Petrus uses Petri nets to make cyclic, concurrent, reactive, and distributed work explicit. Then it makes the running graph durable.
Each running Petrus graph has one canonical History: an append-only event log that records every accepted change and remains the source of truth.
The graph is no longer a diagram. It is durable infrastructure.