pub fn load_camp_local_machine_tomls(
workspace_root: &Path,
) -> Result<Vec<(PathBuf, MachineConfig)>>Expand description
Every .yah/infra/machines/*.toml this camp itself declares, paired
with the path that declared it — every lint finding names the file the
operator opens.
Camp-local by construction, and that is the whole of its contract: a lint exists to tell an operator about a file they can edit, and a borrowed machine is declared in another camp’s tree where they cannot. A lint that cannot be resolved is noise that trains the operator to ignore the check.
This is not the camp’s fleet inventory. For any caller that resolves a
machine name to a machine — placement, ingress collation, the sovereign
apex render — use crate::config::resolve_fleet_inventory, which
additionally overlays every fleet borrowed through
.yah/infra/sources.toml. R870-B13: this function used to carry a
MachineLoadMode::Strict arm and serve both jobs, which made a borrowing
camp (empty local machines/, one [[source]] link) resolve against an
empty fleet and fail its apex render on a machine that was declared all
along, one directory over.
Missing .yah/infra/machines/ is not an error — a fresh camp, and every
borrowing camp, declares no nodes of its own. An unreadable or unparseable
file is skipped with a tracing::warn! rather than failing the sweep: a
peer’s half-written scaffold on a shared tree must not blind the sweep to
every other finding it would report. Files are walked in sorted-filename
order so findings are deterministic across runs.