Skip to main content

execute_single

Function execute_single 

Source
pub async fn execute_single(
    gate_name: &str,
    dag: &GateDAG,
    cached_results: &HashMap<String, (GateResult, String)>,
    current_hashes: &HashMap<String, String>,
    workspace_root: &Path,
    runner: &dyn GateRunner,
) -> Vec<GateResult>
Expand description

Execute a single named gate, running its unsatisfied prerequisites first.

Prerequisites are considered satisfied (and skipped) when the cache map contains a valid cached result for that gate. Cache validity is determined by is_cache_valid.

§Parameters

  • gate_name: the target gate to execute.
  • dag: the full gate graph.
  • cached_results: map from gate name → (GateResult, content_hash). Pass an empty map to run all prerequisites unconditionally.
  • current_hashes: map from gate name → current content hash for validation.
  • workspace_root: working directory.
  • runner: injectable gate runner.