Module plan

Module plan 

Source
Expand description

2026-09-30: Plan one model on one device: resolve the device’s class (chain, rules, kernel sources, families), check the class’s build against the device, fuse every requested mode and row count with the kernels the device can run, and mark every node no rule covers as a gap instead of failing.

Owner: metrale-circuit (hardware). Invariants:

  • A rule that matches a node whose edge format it cannot read is left out of that plan and listed (Planned::refused); the plan never fails on it and never runs it. 2026-10-02: So is a rule whose kernels declare another pipeline than the plan requires of a node it covers (crate::pipeline): a kernel never runs a precision the circuit does not ask for.
  • A node no available rule covers is planned by a placeholder group (emitter = "novel", rule id novel.<op>), never by a kernel the device cannot run; the placeholder has the lowest priority, so it never displaces a real rule.
  • On the class a model’s golden plans were written for, with its own kernel target, the plan equals the golden plan (crates/server/src/cli/circuit_hw_tests.rs holds it).

Structs§

Planned
2026-09-30: One fused plan and the nodes only a placeholder covers.
Resolved
2026-09-30: A device’s class, resolved for one model.
RoutePlan
2026-09-30: A route that applies to a run, with its arm’s plan.

Constants§

NOVEL_EMITTER
2026-09-30: The emitter of a placeholder group.

Functions§

fuse_on
2026-09-30: Fuse circuit at run with the rules and kernels of r, covering what no rule covers with placeholders; each runtime route that applies is planned beside it.
report_runs
2026-09-30: The runs every hardware report shows: decode at C=1, and multi-sequence decode at C=16 and C=128.
resolve
2026-09-30: Resolve device_id for model from tree.