Evidence record / hermes-agent

A dated record of one change, kept so the writing that cites it can be checked. Compiled from the sources listed below by the research run, not written for reading. The judgment lives in the signals and issues that cite it, below.

2026-10-13-hermes-agent-unattended-deny-did-not-apply-inside-a-running-gateway-until-v0-21-7-webhook-turns-reached

Unattended deny did not apply inside a running gateway until v0.21.7: webhook turns reached the guardian model and no-notifier API requests could return unanswerable pending results. A running gateway sets HERMES_EXEC_ASK=1 process-wide, while the command gate consulted approvals.unattended_mode only when that ask flag was off. For webhook and msgraph_webhook turns, and api_server sessions with no approval notifier (non-streaming /v1/chat/completions), default smart mode therefore let the guardian judge commands that should have followed unattended policy; an APPROVE could execute them. Notifier-backed requests can wait for an approval timeout. With no notifier, the old API path returns a pending result for a request that the client cannot answer; that path does not itself wait 300 seconds. From v0.21.7 those no-notifier turns use unattended_mode before the guardian. /v1/runs and streaming chat completions with a notifier retain the API approval bridge. Interactive approvals still default to smart model review; guardian errors and empty decisions log at WARNING and escalate, without guaranteeing human approval for every tool.

Channel: tagged-release. Half: defect. Date: 2026-10-12.

Operator consequence: The prior profile overstated unattended denial in running gateways through v0.21.6. Review webhook-originated sessions on those tags for flagged commands that ran. On v0.21.7, automations formerly approved by the guardian may be blocked; add only intended command_allowlist patterns. Check config.yaml for approvals.unattended_mode: approve before upgrading. It approves commands that reach the unattended-policy branch after earlier guard checks. User denies and applicable hard floors still take precedence; isolated-container, YOLO, disabled-approval, prepared-batch, and allowlist paths are separate.

Receipt

Finding metadata

Run: 2026-10-13-profile-refresh-2026-09-21_2026-10-13-frontier-v0

Finding ID: 2026-10-13-hermes-agent-unattended-deny-did-not-apply-inside-a-running-gateway-until-v0-21-7-webhook-turns-reached

Profile citations

Source links

Primary links, including exact changelog lines when available.

Versioned source: run artifact