Impetus holds the graph.
Impetus owns the Petri net state and one canonical History for every running graph. It knows what is true, what work can happen, and what accepted changes brought the system here.
Architecture
A durable graph owns coordination while replaceable components move, perform, and expose the work.
Impetus owns the Petri net state and one canonical History for every running graph. It knows what is true, what work can happen, and what accepted changes brought the system here.
Motus connects the graph to execution. It routes Activities, the units of work the graph requests, to local or remote Workers and returns their outcomes to the graph.
Arx is the companion tool for authoring, simulation, live inspection, debugging, and adaptation.
A complete Petrus system can run in one Python process. History can be local. Activities can run inline. Nothing else needs to be provisioned just to start.
As the system grows, History can move to durable storage and Activities can move to process or remote Workers. The graph and Activity contracts remain unchanged.
Topology is configuration, not architecture.