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 thatinheritsthe 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 FUSIONSinherits, and b200 through HARDWARE.tomlinherits. 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.