Skip to main content

Module executor

Module executor 

Source
Expand description

Gate DAG execution — parallel gate runner with cascading failure propagation.

§Design: injectable runner

The core execution logic is parameterised over a GateRunner trait so that:

GateRunner uses BoxFuture (via Pin<Box<dyn Future>>) to remain dyn-compatible without requiring the async_trait crate.

Structs§

GateRunOutcome
Per-gate report row suitable for headless --report gates JSON output.
MockRunner
Deterministic gate runner for tests.
SubprocessRunner
Production gate runner that delegates to SubprocessExecutor.

Traits§

GateRunner
Abstraction over the mechanism used to actually execute a single gate.

Functions§

execute_all
Execute all gates in the DAG, respecting dependency order and concurrency.
execute_single
Execute a single named gate, running its unsatisfied prerequisites first.
is_cache_valid
Return true if the cached content hash still matches the current hash.