docs(#1014): update stale root→ruth references in conventions, approvals, agent-hierarchy

This commit is contained in:
iris 2026-06-02 18:38:52 +02:00 committed by mara
commit a8ffdf31e0
3 changed files with 20 additions and 25 deletions

View file

@ -104,16 +104,14 @@ which axis the post-milestone version reads each special-case along:
### A — naming + bootstrap
- `MANAGER_AGENT = "root"` (broker recipient name),
`MANAGER_NAME = "root"` (logical name, state-dir key), and
`MANAGER_CONTAINER = "h-root"` (nixos-container name). The `h-`
prefix makes the manager consistent with all sub-agents and lets
`lifecycle::list()` use a single `starts_with("h-")` filter.
Existing `root` containers are renamed to `h-root` by migration
phase 5 in `migrate.rs` (idempotent, marker-guarded).
- `MANAGER_AGENT = "ruth"` (broker recipient name),
`MANAGER_NAME = "ruth"` (logical name, state-dir key), and
`MANAGER_CONTAINER = "h-ruth"` (nixos-container name); the `h-`
prefix lets `lifecycle::list()` use a single `starts_with("h-")`
filter.
- `auto_update::ensure_manager` runs at hive-c0re boot and spawns
`h-root` if missing. **Topology**: root has no parent, so
hive-c0re itself owns its lifecycle (no parent to delegate to).
`h-ruth` if missing. **Topology**: ruth defaults to root-level (no
parent); hive-c0re handles the bootstrap lifecycle directly.
### B — wire-protocol privileges
@ -175,7 +173,6 @@ read.
### F — drive-by checks across c0re
(`grep -n MANAGER_AGENT` produced ~28 hits)
- `loose_ends.rs`: manager sees hive-wide loose-ends, sub-agents only
their own. **Topology** — every agent sees its own + its
@ -238,9 +235,8 @@ repos they're working on.
meta-flake's per-agent flake.nix wrapper). For the manager unit
that means a hardcoded `HIVE_LABEL` env value:
- `HIVE_LABEL = "root"` — logical agent name; matches what `meta.rs`
injects at deploy time. (The nixos-container is `h-root`, but the
harness identifies itself by logical name.)
- `HIVE_LABEL = "ruth"` — logical agent name; matches what `meta.rs`
injects at deploy time.
Real deploys never read these — `meta::render_flake` overrides them
via the generated wrapper. They exist so the manager