Expand description
Chain-bounded DAG built from a wire-typed Pipeline.
Each Node carries an owned wire CommandStep, so the scheduler
reads runner/runner_args directly at dispatch time — no
legacy schema round-trip.
Two edge sets at the Node level:
-
builds_in— at most one parent per step. Lineage edge: child runs inside the parent’s container (locally) or boots from the parent’s snapshot (remotely). Implies a sync edge. -
depends_on— synchronisation edges (no state inheritance). Computed from thebuilds_inparent (always added) plus any implicit barriers introduced bywaitsteps in the wire format. v0 has no schema-leveldepends_on— chain DSL is the only topology mechanism.
After flattening wait barriers, the graph is a DAG over command
steps. A “lineage chain” is a maximal path of builds_in edges
with single-child branching at every internal node — these are
schedulable as a single long-lived container.