# Operations domain — schema The operations domain holds the procedural and time-stamped documentation: runbooks (repeatable procedures), investigations (incident evidence), and plans (design docs for non-trivial work). It follows [writing-style](../../shared/writing-style.md); runbooks and plans use the imperative voice exception. Where each kind lives: runbooks are skills under [`.agents/skills/`](../../skills/); operator reference (command cheatsheet, enrollment, Nomos agent) lives in [`.agents/operations/`](../../operations/); investigations are `investigation` entities in the DB (historically `archive/knowledge/sources/investigations/`); plans stay in the repo-root `plans/` folder (below). ## Plans always live in `plans/` **Any plan or design doc for the Homelab is written into the repo `plans/` folder as `plans/YYYY-MM-DD-slug.md` — never a scratch path, an agent-private plan location, or a chat message.** An agent drafting a plan: 1. Writes the file under `plans/` using the plan template in [page-templates.md](../../shared/page-templates.md). 2. Lists it in `plans/index.md`. 3. On completion, moves it to `plans/done/` and updates the index status. This is the single source for homelab design intent; keeping it in-repo means the plan is versioned, reviewable, and reachable by MCP `search_knowledge` like any other doc. ## Runbooks Repeatable procedures are skills — one folder per skill at `.agents/skills//SKILL.md`, with YAML front-matter that the Oikos policy and lifecycle machinery reads: ```yaml --- name: risk_class: read_only | reversible_low | config_mutation | destructive inputs: [, ...] verification: "" docs_update_checklist: [] transition: " -> " # only for lifecycle runbooks --- ``` `risk_class` values and the lifecycle `transition` states must match [`seeds/policy.yaml`](../../../seeds/policy.yaml) and [`seeds/ontology.yaml`](../../../seeds/ontology.yaml). ## Investigations Incident records are `investigation` entities in the DB, linked to the entities they implicate via `about` edges. They are **evidence sources** — written once at incident time, then back-linked from the changelogs of the nodes they implicate. Sections: `## Summary`, `## Timeline`, `## Root cause`, `## Mitigations applied`, `## Open questions`. The legacy file-based investigations live at `archive/knowledge/sources/investigations/` (frozen 2026-07-07); new investigations go in the DB. ## The operations log `plans/log.md` is the append-only record of documentation operations on plans (`## [YYYY-MM-DD] | `), distinct from the DB audit trail. The legacy `archive/knowledge/log.md` is frozen with the rest of the archived wiki.