agents: remove send(operator) and the operator inbox; alert on turn failures
Agents reach the operator over matrix now (#5115). A `send` to `operator` is refused, by the broker and by the MCP allow-list check, with an error that names the matrix MCP tools. The dashboard's Y3R C4LL tab goes with it: the operator inbox, `GET /api/operator-inbox`, `Broker::unread_for_recipient`, and the browser notifications that only ever fired on operator-bound messages. The harness no longer posts turn failures and plugin-install failures to the operator inbox. Both are already logged at warn; a new Grafana rule, `hh-agent-turn-failed`, fires per agent on the harness's `turn failed` line. Dashboard-to-agent messaging (op-send, the agent web UI's message box, mark-all-read for agent inboxes) is unchanged. Decisions per mara on #5115: q1 a, q2 a plus a grafana alert, q3 keep dashboard-to-agent messaging and leave swarm-level code alone.
This commit is contained in:
parent
2bf809cbe5
commit
7e6a4c7727
37 changed files with 246 additions and 848 deletions
|
|
@ -201,8 +201,8 @@ pub enum TurnError {
|
|||
/// provider (e.g. HTTP 429) without reporting it ends up here. Handled
|
||||
/// like [`Self::ApiStall`].
|
||||
AgentStall(String),
|
||||
/// A hard failure with no recovery — the serve loop escalates it to the
|
||||
/// operator (`send_to_operator`).
|
||||
/// A hard failure with no recovery. Logged as `turn failed`, the exact
|
||||
/// message the `hh-agent-turn-failed` Grafana alert matches.
|
||||
Failed(anyhow::Error),
|
||||
}
|
||||
|
||||
|
|
@ -604,6 +604,8 @@ pub fn emit_turn_end(bus: &Bus, outcome: &TurnOutcome) {
|
|||
ok: false,
|
||||
note: Some(note.clone()),
|
||||
});
|
||||
// The `hh-agent-turn-failed` alert in swarm-grafana.nix matches
|
||||
// this message exactly.
|
||||
tracing::warn!(error = %note, "turn failed");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue