diff --git a/.agents/OIKOS.md b/.agents/OIKOS.md index 8ec9c70..0ae80d1 100644 --- a/.agents/OIKOS.md +++ b/.agents/OIKOS.md @@ -38,7 +38,7 @@ one pass through **Observe → Orient → Decide → Act**: | Primitive | What it is | Lives in | |---|---|---| -| Host / Service | topology entities | `inventory.yaml` (+ generated `hosts/*.yaml`) | +| Host / Service | topology entities | `inventory.yaml` | | Secret | SOPS+age encrypted value, per-client recipients | `secrets/` + `.sops.yaml` | | Runbook | executable workflow with risk class + verification | `.agents/skills//SKILL.md` | | Signal | something needing attention, with lifecycle | `signals/` ledger (Week 3) | diff --git a/AGENTS.md b/AGENTS.md index 6ad008b..add2974 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -16,13 +16,13 @@ Agent-facing instruction is separated from human content under `.agents/`: `.agents/domains/` holds the per-domain schemas ([knowledge](.agents/domains/knowledge/schema.md), [operations](.agents/domains/operations/schema.md)). The narrative wiki lives under `knowledge/wiki/`; the machine-readable substrate -(`inventory.yaml`, `hosts/*.yaml`, `oikos/`) stays at the repo root. +(`inventory.yaml` stays at the repo root. ## 1. Who you are Run `hostname` (Linux) or `scutil --get LocalHostName` (macOS), then read: - /opt/homelab-context/hosts/.yaml + /opt/homelab-context/inventory.yaml That file tells you your role, your peers, what's mounted, and what services you host. If it does not exist, this client was not enrolled — stop and tell diff --git a/bootstrap.sh b/bootstrap.sh index 4431c4f..1a00637 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -314,10 +314,10 @@ else fi # -------- identity check -------- -HOST_YAML="$CLONE_DIR/hosts/$HNAME.yaml" -if [ ! -f "$HOST_YAML" ]; then +INVENTORY="$CLONE_DIR/inventory.yaml" +if [ ! -f "$INVENTORY" ] || ! grep -q "^ $HNAME:" "$INVENTORY" 2>/dev/null; then cat >&2 <