| Filename | Latest commit message | Latest commit date |
|---|---|---|
Container lifecycle from inside an agent goes away: an agent no longer starts, stops, restarts or rebuilds a container in its subtree, and no longer reads another container's journal. Those are operator actions — the dashboard and hivectl keep their own paths to the same job-queue and hive-priv plumbing, which is why none of that machinery is removed here, only the five MCP verbs and what they alone reached. What went with them: the `Request` variants and `Response::Logs` on the agent socket, the five tool definitions and their arg structs, the four lifecycle handlers plus `handle_get_logs`, and `require_descendant` — the topology guard those five were the only remaining callers of. `ToolGroup::Diagnostics` goes too: `get_logs` was its only tool, so it would otherwise be a grantable group that grants nothing. `lifecycle` stays, now carrying `list_containers` alone. An agent that gets a `needs_update` or `container_crash` helper event has no remedy of its own left, so the system prompt and the docs now send it to the operator instead of to a tool that no longer exists. Refs #4480 |
||
| .. | ||
| src | ||
| Cargo.toml | ||
| README.md | ||
hive-core-agent-sock
Wire types for the per-agent + manager socket (/run/hive/mcp.sock) — the
unified Request / Response protocol spoken between an agent's in-container
harness (and the manager) and the hive-c0re daemon.
Why it's its own crate
Re-homed out of hive-sh4re so this one socket owns its protocol crate,
mirroring the hive-host-sock / hive-priv-sock splits. The shared payload
types it references (Message, LooseEnd, Approval, …) stay in hive-sh4re,
which this crate depends on — this crate is just the request/response envelope
for this socket.
Not to be confused with hive-agent-sock
This is the host-served protocol: the harness talks out to hive-c0re
over /run/hive/mcp.sock (broker sends, approvals, lifecycle).
hive-agent-sock is the separate in-container socket the harness serves to
its own local producers — that one never leaves the container. See
docs/trust-boundary/boundary.md for the socket topology.