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 idnovel.<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.
- Route
Plan - 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
circuitatrunwith the rules and kernels ofr, 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_idformodelfromtree.