Watch
0
0
Fork
You've already forked hyperhive
0

drop the manager socket, the no-op migrate branch and other ruth special cases

start_manager bound the same path register_agent binds. The migrate branch, hive-priv-sock::MANAGER_NAME and MANAGER_CONTAINER were no-ops or dead. The send allow-list docs promised a manager exemption the code never had. Tests that used ruth as the manager fixture use plain names.
This commit is contained in:
atlas 2026-10-16 18:30:31 +02:00 • committed by mara
commit 746c522f4e
16 changed files with 36 additions and 117 deletions

View file

@ -6,7 +6,7 @@ use rmcp::schemars;
#[derive(Debug, serde::Deserialize, schemars::JsonSchema)]
pub struct SendArgs {
/// Logical agent name to deliver the message to (e.g. `"manager"`,
/// Logical agent name to deliver the message to (e.g. `"bob"`,
/// `"alice"`). `"operator"` is refused: reach the operator over matrix
/// if you have it.
pub to: String,
@ -106,7 +106,7 @@ pub struct SetStatusArgs {
#[derive(Debug, serde::Deserialize, schemars::JsonSchema)]
pub struct GetAgentMetaArgs {
/// Logical name of the agent to query (e.g. `"iris"`, `"manager"`).
/// Logical name of the agent to query (e.g. `"iris"`, `"bob"`).
/// Omit to query your own identity + status — replaces the
/// previous `whoami` self-introspection tool.
#[serde(default)]

View file

@ -148,7 +148,7 @@ impl AgentServer {
let log = format!("{args:?}");
let to = args.to.clone();
// Check per-agent allow-list (services.hyperhive.agent.allowedRecipients). When no
// policy file is present (e.g. manager containers) the check is a no-op.
// policy file is present the check is a no-op.
if let Err(refusal) = crate::send_allow::check_send_allowed(&to) {
return run_tool_envelope("send", log, async move { refusal }).await;
}

View file

@ -7,8 +7,7 @@
/// Where the NixOS module writes the per-agent send allow-list (see
/// `nix/agent-modules/mcp.nix`). Empty list = unrestricted (the
/// default). Non-empty list constrains `mcp__hyperhive__send`'s `to`
/// field; the manager is always implicitly permitted regardless of
/// the list contents.
/// field.
const SEND_ALLOW_PATH: &str = "/etc/hyperhive/send-allow.json";
/// Enforce the per-agent send allow-list. Returns `Ok` when the