fn should_skip(
node_id: &str,
graph: &DroneGraph,
nodes_by_id: &HashMap<String, &FlowNode>,
scope: &ExecutionScope,
skipped: &HashSet<String>,
) -> boolExpand description
Decide whether node_id should be pruned given the per-run state.
A block runs iff at least one of its incoming edges is “active”:
- The edge’s source is NOT in
skipped, AND - If the source is a Condition block, the edge’s
source_handle(“true” / “false”) matches the boolean stored in the Condition’sresultoutput.
Blocks with no incoming edges are root nodes and never skip. Topological ordering guarantees every source has already been processed (run or skipped) by the time we evaluate a target here.