Problem: after the wiki-hq reorg, agent-instruction and human-doc domains were still scattered across the repo root, with three now-redundant stub files cluttering it. The organizing principle wasn't visible in the layout. Change — enforce three clear buckets: - .agents/ = how agents operate: OIKOS.md, HERMES.md (moved from root), shared/ conventions, domains/ schemas, skills/, and operations/ (operator cheatsheet + enrollment + hermes-agent, moved from root). - knowledge/ = what exists + evidence: wiki/, GLOSSARY.md, and sources/ now including investigations/ (incident records are evidence/sources). - root = substrate + two entry points (AGENTS.md, README.md), plus plans/ as its own design-intent domain. Moves: - investigations/ -> knowledge/sources/investigations/ (incl. archive/, index). - operations/ -> .agents/operations/. - HERMES.md -> .agents/HERMES.md. - Deleted unreferenced root stubs CAVEMAN.md, CONTRIBUTING.md, and OIKOS.md (its 7 remaining linkers repointed to .agents/OIKOS.md). Consumers updated: - inventory.yaml doc_page (agent-enrollment) + regenerated hosts/*.yaml + cards. - tools/setup-hermes-soul.sh and bootstrap.sh (x2) -> .agents/HERMES.md. - bin/homelab help string -> .agents/operations/hermes-agent.md. - knowledge/operations schemas, llm-wiki, page-templates, incident-investigation skill, AGENTS.md/README nav -> new investigations/operations paths. - All markdown links rewritten via the path-resolving mapper. Left in place (substrate/executable/separate-domain): hosts/, ledger/, tools/, plans/, oikos/, mcp/, secrets/, bin/, inventory.yaml. Verification: docs-lint at baseline (2 intentional cross-repo refs, no new breakage); gen-topology.py --check exit 0; build_host_files.py idempotent; all doc_page targets resolve; Hermes provisioning scripts point at the new path. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.5 KiB
1.5 KiB
name, risk_class, inputs, verification, docs_update_checklist
| name | risk_class | inputs | verification | docs_update_checklist | ||||
|---|---|---|---|---|---|---|---|---|
| config-change-deploy | config_mutation |
|
curl -sf <service_url> (or homelab service <name> health) |
|
Config change + deploy
Goal: change a tracked config repo (Caddy, Gitea customizations, an app's own repo) and get it live, safely.
homelab change preflight <service>— current health, the service'sconfig_repo, its risk class, and the verification command to run after. If risk class requires approval (config_mutationordestructive), stop and get operator sign-off before editing — seeoikos/policy.yaml.- Clone/pull the
config_repo(never edit the backend's working tree directly — tracked configs change by commit + push, per OIKOS.md conventions). - Make the change, commit, push to
main. - The Gitea webhook fires the deploy pipeline for that repo (see infrastructure/auto-deploy.md for the exact receiver/reload for this service).
- Run the preflight's verification command. If it fails, check
homelab service <name> logfor the reload/restart error. - Record the change: once
oikos/ledger.pyis wired into deploy tooling (Week 3), this is automatic; until then, note the change and outcome in the relevant investigation/plan doc.
Docs-update checklist: update the service's doc_page if the change
alters its behavior, ingress route, or ownership; add a changelog entry
if the page has one.