affected

Function affected 

Source
pub fn affected(root: &Path, changed: &[String]) -> BTreeSet<Target>
Expand description

2026-09-26: Targets a changed path set can affect: the union of two rules.

  • By path. A path under a model directory affects the targets on that hardware for that model, those whose source model it is, and those that do not resolve. Any other path under kernels/<hw>/ (common/, HARDWARE.toml) affects every target on that hardware.

  • By resolution. Every target, on any hardware, whose resolved inputs (Layout::inputs: role entries, vendored subdirectories, KERNEL.tomls) include the path, and every target that does not resolve. This reaches targets on a hardware that inherits the tree, or that name the file in [sources] use.

  • (2026-09-28) By circuit. A path under kernels/circuits/ affects every target: each one hashes those files (metrale_closure::circuit_configs). (2026-09-30) So does a FUSIONS.toml a target’s rules are inherited from (metrale_closure::fusions_chain): gb10’s rules reach hopper and b300 through FUSIONS inherits, and b200 through HARDWARE.toml inherits. A target whose chain does not resolve is affected by any path, like one whose sources do not.

A path outside kernels/ affects nothing here. closure::excuses refuses to excuse a path set that holds one.