# ops Single source of operational truth: everything here must be understandable, rebuildable, and revocable. ## Non-negotiables - **Authority boundary:** critical actions originate from `op-core-vm`. - **No plaintext secrets in Git:** `vault/` contains encrypted artifacts only; `20-identity/keys/public/` is public keys only. - **Naming is reality:** everything is named `--`. - **Nuke test:** if losing it causes panic, reduce scope or remove it. ## Quick links - [vm-control](../vm-control) — fleet control plane - [vm-cc](../vm-cc) — continuous compliance - [vm-cloudflare](../vm-cloudflare) — Layer0 + edge - [vm-ledger](../vm-ledger) — ledger - [vm-contracts](../vm-contracts) — schemas - [vm-mcp](../vm-mcp) — governance/tools - [vm-core](../vm-core) — engine - [vm-skills](../vm-skills) — skills ## Read first - `00-doctrine/operator-charter.md` - `00-doctrine/personal-operating-doctrine.md` ## Layout - `00-doctrine/` – the law (stable, rarely changed) - `10-inventory/` – what exists (hosts, networks, services) - `20-identity/` – roles, policies, leases, public keys - `30-infra/` – infrastructure as code + config management - `40-apps/` – application-specific ops (deploy, config, lifecycle) - `50-runbooks/` – executable procedures (panic day, provision, incident, decom) - `60-backups/` – backup manifests + restore proofs - `70-audits/` – checklists + reports - `80-automation/` – scripts and containers that make the above repeatable - `90-scratch/` – disposable working area (not source of truth) - `vault/` – encrypted-only artifacts (safe to leak without keys) ## What does not belong here Meaning-bearing material (books, media, personal archives) stays in cold storage, not `ops/`.