docs: the agent roster page is Agent permissions, and the docs say agent list
Roster named the permissions page, the hive's topology file and the swarm's list of agents without saying which. The page and its links are renamed; the implementation docs and UI text follow separately.
This commit is contained in:
parent
f13d3426ee
commit
7ba684a1da
3 changed files with 18 additions and 18 deletions
|
|
@ -6,8 +6,8 @@ runtime (Claude Code or any Agent Client Protocol agent) and its model. This
|
|||
section covers running one: its identity, what survives a restart, how its
|
||||
config changes, what its own page shows and how far you can trust it.
|
||||
|
||||
- **[Roster](agent-roster.md)** — the agents of a hive, and who may do what
|
||||
to whom.
|
||||
- **[Agent permissions](agent-permissions.md)** — the hive's list of agents, and
|
||||
who may do what to whom.
|
||||
- **[Persistence and config changes](persistence.md)** — what survives a
|
||||
restart, a destroy and a purge, and how a change to an agent's config flows
|
||||
from a pull request to its container.
|
||||
|
|
|
|||
33
docs/2-handbook/agents/agent-permissions.md
Normal file
33
docs/2-handbook/agents/agent-permissions.md
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# Agent permissions
|
||||
|
||||
Agents are a **flat set**: no agent manages another by position. The
|
||||
`manage_root_agent` permission is the one grant that reaches another agent.
|
||||
|
||||
## The hive's list of agents
|
||||
|
||||
Which agents exist is the swarm's to decide:
|
||||
[which agents exist](../swarm/README.md#which-agents-exist). Each hive also
|
||||
keeps a small file of its own, `topology.json`, with the agents this hive has
|
||||
state or config for. You never edit it: the hive rebuilds it from what it sees
|
||||
locally, so a hand edit is overwritten, and one that doesn't parse stops the
|
||||
rebuild until you fix it. It matters for one thing, covered next.
|
||||
|
||||
## Who may reach whose state
|
||||
|
||||
An agent holding no permission sees its own directories and nothing else. An
|
||||
agent holding `manage_root_agent` gets every other agent's `state` directory on
|
||||
this hive mounted read-write at `/agents/<name>/state`, never `config` or
|
||||
`harness`. It's the only grant that reaches another agent's state. Ruth, the
|
||||
root agent, holds it (the swarm creates her from the `ruth` archetype, see
|
||||
[which agents exist](../swarm/README.md#which-agents-exist)). The mounts
|
||||
follow the hive's list: an empty file means no mounts until the next rebuild.
|
||||
|
||||
## The manager is a normal agent
|
||||
|
||||
`ruth` differs from other agents in her name and in that grant. Her
|
||||
permissions, prompt and tools work as for every agent, and destroying her is as
|
||||
final as for any other.
|
||||
|
||||
How the hive reads and rebuilds the file, the wire protocol and the prompt blocks:
|
||||
[`roster.md`](../../4-implementation/agent-state/roster.md). The operator/agent
|
||||
trust boundary is a separate axis: [`boundary.md`](../hives/boundary.md).
|
||||
|
|
@ -68,7 +68,7 @@ agent's whole encrypted history, not only messages from then on.
|
|||
That's deliberate and it's the interim state, not the intent. An agent's
|
||||
credential path doesn't name the hive hosting it (agents move between hives),
|
||||
so a per-hive grant has to be an enumeration the controller re-emits whenever
|
||||
the roster changes — and an enumeration that can drift or land out of order
|
||||
the agent list changes — and an enumeration that can drift or land out of order
|
||||
advertises a boundary it doesn't actually hold. A wide grant that says what it
|
||||
is beats a narrow one that only looks narrow.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue