hyperhive/hive-core-agent-sock
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas b88a5b2430 remove the list_containers and request_update_meta_inputs MCP tools
Both agent-facing tools go away end to end, with no replacement. This is
an intentional capability removal: agents can no longer enumerate their
own subtree, and can no longer queue a meta-flake input bump.

The system prompt and docs/tools/lifecycle.md land in this same commit
on purpose. A tool named in the prompt but absent from the server makes
agents confidently call something that doesn't exist, and the failure
then surfaces far from its cause.

Removed:

- MCP registrations and bodies (hive-agent-mcp), plus the now-unused
  UpdateMetaInputsArgs.
- Wire variants Request::ListDescendants,
  Request::RequestUpdateMetaInputs and Response::Containers, plus
  ContainerInfo, whose only consumer was that response.
- hive-c0re's handle_list_descendants (its whole module) and
  handle_request_update_meta_inputs, the two dispatch arms, and the
  require_group(agent, "approvals", ...) gate on the meta-inputs verb.
- The stream_enrich emoji entry and argument formatter.
- docs/tools/lifecycle.md (both tools it documented are gone), its two
  referrers, the tool-group tables and the agent-hierarchy prose.

Tool groups are kept, deliberately. ToolGroup::Lifecycle listed exactly
one tool and now lists none — it is vestigial, but the variant stays so
existing meta/capabilities.json grants still parse; retiring it is a
separate decision. ToolGroup::Approvals also listed exactly one tool,
but the group is NOT dead: check_can_cancel_approval still gates
cancel_loose_end's approval-cancel arm on it server-side.

ApprovalKind::UpdateMetaInputs stays too. Nothing in production code
produces it any more, but pre-existing approval rows may still carry it,
and the operator's own path to a meta update is unaffected — the
dashboard's POST /api/meta-update inserts the meta_update job directly,
bypassing approvals entirely.

The two format_ack tests in hive-agent-mcp that named
request_update_meta_inputs were only using it as a label string while
exercising the generic OkWarn/Ok renderer, so they are retargeted to a
surviving tool rather than deleted.

Note hive-c0re's priv_client::list_containers is a different thing (the
host-side privileged container listing behind hive-priv) and is
untouched.

Closes #4591
2026-09-20 22:47:46 +02:00
..
src remove the list_containers and request_update_meta_inputs MCP tools 2026-09-20 22:47:46 +02:00
Cargo.toml docs(#2627): add READMEs for the remaining infra crates 2026-07-23 13:16:29 +02:00
README.md treefmt: apply prettier 2026-09-02 15:25:07 +02:00

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.