docs(agents): drop change-log section and temporal wording
This commit is contained in:
parent
78aacf13ce
commit
967bd34622
3 changed files with 73 additions and 118 deletions
|
|
@ -44,7 +44,7 @@ its leftmost label by convention, but the convention isn't
|
|||
machine-readable, and federated hives at different DNS domains
|
||||
can share a swarm name. Humans want both: the address
|
||||
(`@darkest.space`) AND the prose name (`pr1ma`). Matrix MXIDs
|
||||
still use the domain-based convention untouched.
|
||||
use the domain-based convention.
|
||||
|
||||
`qualify(label)` is the same shape as `qualified_label()` but
|
||||
applies to an arbitrary label the caller already has (for example a peer
|
||||
|
|
@ -65,11 +65,10 @@ wake-event-injection surface on the host-served per-agent socket.
|
|||
Recipient is implicit — the agent the socket belongs to — and `from`
|
||||
is caller-chosen so the wake prompt can label the source verbatim
|
||||
(`"matrix: new message in #general"`, `"forge: PR #42 opened"`, etc.). <!-- lint:allow: example strings, not real tags -->
|
||||
`hive-c0re` still handles it, but no built-in
|
||||
in-container producer calls it today — matrix, bash and forge
|
||||
notifications all upsert a todo on the harness's in-agent socket
|
||||
(`HIVE_AGENT_SOCKET`) instead, which signals the same turn loop without
|
||||
a hive-c0re round-trip. See
|
||||
`hive-c0re` handles it; matrix, bash and forge don't call it — their
|
||||
notifications upsert a todo on the harness's in-agent socket
|
||||
(`HIVE_AGENT_SOCKET`), which signals the same turn loop without a
|
||||
hive-c0re round-trip. See
|
||||
[`docs/turn-loop/mcp.md` § Waking the agent from inside the
|
||||
container](../turn-loop/mcp.md#waking-the-agent-from-inside-the-container).
|
||||
|
||||
|
|
@ -91,11 +90,7 @@ angle-bracket and asterisk shapes below are structurally safe.
|
|||
- `operator` — the human at the dashboard. Messages accumulate in the
|
||||
inbox view; no agent ever `recv`'s them.
|
||||
|
||||
`<parent>` and `<children>` aren't valid recipients: address
|
||||
`operator` directly instead of `<parent>`, and name the recipients (or
|
||||
broadcast to `*`) instead of `<children>`. Nothing rewrites a
|
||||
recipient at send time — what an agent passes is what the broker
|
||||
stores.
|
||||
The broker stores the recipient exactly as the agent passed it.
|
||||
|
||||
## Wire protocol
|
||||
|
||||
|
|
@ -237,10 +232,8 @@ status_text, status_set_at, hive_name, swarm_name, matrix_accounts }`:
|
|||
`false`, the host clears `status_text` / `status_set_at` —
|
||||
on-disk values from before the stop are stale snapshots, not
|
||||
live status. Defaults to `true` on the
|
||||
wire: the deserializer treats a payload lacking the field — from a
|
||||
harness that never serialises it, or a host that only knows how to
|
||||
ask about live containers — as running, keeping compatibility with
|
||||
pre-running-field payloads.
|
||||
wire: the deserializer treats a payload without the field as
|
||||
running.
|
||||
- `status_text` / `status_set_at`: last value written via
|
||||
`SetStatus`, plus its unix timestamp. Both `None` when the
|
||||
target has never set a status, when the agent name is unknown,
|
||||
|
|
@ -302,10 +295,10 @@ binary flavor.
|
|||
| `meta` | `get_agent_meta` (`set_status` is always-on, see below) |
|
||||
| `inbox` | `get_loose_ends`, `cancel_loose_end`, `remind` |
|
||||
| `execution` | vestigial — `mcp__bash__run` / `mcp__bash__status` are always available unconditionally via `extraMcpServers`; this group's entries expand to non-existent `mcp__hyperhive__run` / `mcp__hyperhive__status` and have no effect. See `docs/tools/bash.md`. |
|
||||
| `lifecycle` | none — `list_containers` isn't a tool; the variant survives only so existing grants parse. |
|
||||
| `approvals` | none — `request_update_meta_inputs` isn't a tool. Still a live server-side gate: `cancel_loose_end`'s approval-cancel arm requires it. |
|
||||
| `lifecycle` | none |
|
||||
| `approvals` | none — gates `cancel_loose_end`'s approval-cancel arm server-side. |
|
||||
| `scheduling` | `request_schedule_prompt`, `fire_schedule_now`, `cancel_schedule`, `edit_schedule`, `list_schedules` *(privileged)* |
|
||||
| `forge` | none — `create_repo` isn't a tool; the variant survives only so existing grants parse. |
|
||||
| `forge` | none |
|
||||
| `web_tools` | none (gates the Claude built-ins `WebFetch`/`WebSearch`, not an MCP tool) |
|
||||
|
||||
**Always-on tools** — `ToolGroup::ALWAYS_ON_TOOLS` exposes `set_status`,
|
||||
|
|
@ -411,8 +404,7 @@ rewrite — `PRIVATE_NETWORK=1`, `HOST_ADDRESS` = the bridge gateway IP,
|
|||
sets `EXTRA_NSPAWN_FLAGS` — plus the systemd resource-limits drop-in)
|
||||
into the `Swap` node, then runs `nixos-container update` + stop +
|
||||
start across the `StopForUpdate → Swap → RebuildBookkeeping`
|
||||
brace and the tail `Reconcile` node. `flake.nix` itself isn't
|
||||
regenerated host-side on rebuild — it's tracked in the agent's
|
||||
brace and the tail `Reconcile` node. `flake.nix` itself lives in the agent's
|
||||
proposed/applied repos and rides along on every fetch (see
|
||||
`docs/agent-lifecycle/approvals.md::Two repos per agent`).
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue