docs: handbook states what the code does (fact sweep fixes)
This commit is contained in:
parent
1042bf65db
commit
409e7ee5a0
1 changed files with 64 additions and 69 deletions
|
|
@ -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`
|
||||
|
|
|
|||
Loading…
Reference in a new issue