Module check

Module check 

Source
Expand description

2026-10-02: The check a plan must pass: for every node of every group, the pipeline the group’s kernel family declares for it (super::declare) equals the pipeline the plan requires of it (super::require), inputs, every step and outputs alike. A fused group composes its nodes’ pipelines: each member’s outputs are handed to the next member in the format the kernel declares, which must be the format the plan stores or the rule states it holds, so a fused edge cannot change format silently.

Owner: metrale-circuit (pipeline). Invariants:

  • Every node of the plan’s section gets a required pipeline or the check fails.
  • A group whose kernels no family lists, or whose family’s declaration does not resolve for a node, fails like a differing one (PipelineError::Undeclared, PipelineError::Declared inside a PipelineError::Mismatch); only a hardware planner’s placeholder group (no kernel of the class covers the op) is exempt, since nothing runs it.
  • The family of a node is the one, among those listing a kernel of its group and implementing its op (with its role and weight format), that names the role explicitly, else the first in manifest order.

Structs§

PlanPipelines
2026-10-02: The required pipeline of every node a plan runs, and the steps its rules state.

Functions§

check_plan
2026-10-02: Check plan of c: every node’s declared pipeline against its requirement under settings, the plan’s groups’ rules being among rules.
family_of
2026-10-02: The family that declares node node’s pipeline in group g.