Skip to main content

load_camp_local_machine_tomls

Function load_camp_local_machine_tomls 

Source
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.