Watch
0
0
Fork
You've already forked hyperhive
0

docs: handbook states what the code does (fact sweep fixes)

This commit is contained in:
atlas 2026-11-10 00:51:59 +01:00 • committed by mara
commit 409e7ee5a0

View file

@ -41,8 +41,8 @@ should cover._ `topology::all_agents` is the only reader that matters.
That reader is a permission boundary: the set it returns is what an agent
holding the `ManageRootAgent` permission gets bind-mounted (each other
agent's `state` read-write and `config` read-only; never `harness`). An
agent holding no permission sees its own dirs and nothing else:
agent's `state` dir, read-write, at `/agents/<name>/state`; never `config` or
`harness`). An agent holding no permission sees its own dirs and nothing else:
`ManageRootAgent` is the only grant that reaches another agent's state
dir. See
[`persistence.md`](persistence.md)'s _Cross-agent access to state._
@ -66,12 +66,14 @@ system-level facts live.
degrades safely to "no agents" (covers a fresh install that hasn't
synced yet).
- **Reconcile** — runs alongside the periodic meta/flake regeneration.
Adds newly spawned agents, drops removed ones. Reconcile keeps agents
whose config repo exists but that haven't spawned yet, so the gap until
the container appears doesn't churn the file.
Adds newly spawned agents, drops removed ones. The live set is the
hive's existing agent containers plus the agent that spawns now; reconcile
drops an agent whose config repo exists but whose container doesn't.
No write API and no operator verb reach this file. Reconcile derives it
from which agents exist, so the next pass overwrites a hand edit.
from which agents exist, so the next pass overwrites a hand edit that
parses. It refuses to write over a file it can't parse and fails
instead, so a broken hand edit stays until someone fixes it.
See `hive-c0re/src/agent_config/topology.rs` and `hive-c0re/src/meta.rs`'s
module docs for the exact call chain.
@ -99,9 +101,9 @@ state dirs work as for every other agent.
[`docs/4-implementation/turn-loop/mcp.md`](../../4-implementation/turn-loop/mcp.md#waking-the-agent-from-inside-the-container)).
- **Storage/mounts** — the `manage_root_agent` permission, which the swarm
UI's setup assistant creates ruth with, gets a container
`/var/lib/hyperhive/agents` bind-mounted RW at `/agents` (so it can
manage any agent's state dir; config isn't mounted, since a real
config change is a PR from a clone), plus an RO mount for
each other agent's `state` dir bind-mounted RW at
`/agents/<name>/state` (so it can manage any agent's state dir; config
isn't mounted, since a real config change is a PR from a clone), plus an RO mount for
`/meta` (the hive's topology and limits files). Any agent holding it gets the same mounts.
- **Prompt** — identical for every container but one block (below):
`prompts/system.md`