Skip to main content

Module graph

Module graph 

Source
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 the builds_in parent (always added) plus any implicit barriers introduced by wait steps in the wire format. v0 has no schema-level depends_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.

Structs§

Graph
Node