From f4099319bb70934941612ed0eeb9390ec3d17545 Mon Sep 17 00:00:00 2001 From: jenkins Date: Sun, 9 Aug 2026 03:59:08 -0300 Subject: [PATCH] feat(hermes): extend agent tool budget --- services/hermes/agent-configmap.yaml | 3 +++ services/hermes/agent-deployment.yaml | 2 +- testing/tests/test_hermes_herdr.py | 8 ++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/services/hermes/agent-configmap.yaml b/services/hermes/agent-configmap.yaml index 7bdcb1039..f4752a3ab 100644 --- a/services/hermes/agent-configmap.yaml +++ b/services/hermes/agent-configmap.yaml @@ -27,6 +27,9 @@ data: agent: api_max_retries: 1 + # The coordinator supervises long-running Herdr workers; give it enough + # room to inspect, steer, review, and synthesize without truncating. + max_turns: 180 reasoning_effort: medium toolsets: diff --git a/services/hermes/agent-deployment.yaml b/services/hermes/agent-deployment.yaml index 0070f4606..19f6569c4 100644 --- a/services/hermes/agent-deployment.yaml +++ b/services/hermes/agent-deployment.yaml @@ -24,7 +24,7 @@ spec: ai.bstein.dev/execution: Herdr-supervised Codex and Claude Code ai.bstein.dev/model-policy: Jetson-assisted AUTO routing, low through xhigh, cross-provider fallback ai.bstein.dev/placement: rpi5 preferred; Jetson deferred until state storage is available - ai.bstein.dev/config-rev: "20260809-route-outcomes" + ai.bstein.dev/config-rev: "20260809-agent-tool-budget" vault.hashicorp.com/agent-inject: "true" vault.hashicorp.com/role: hermes-agent vault.hashicorp.com/agent-inject-secret-anthropic-token: kv/data/atlas/hermes/agent-tokens diff --git a/testing/tests/test_hermes_herdr.py b/testing/tests/test_hermes_herdr.py index b474ab4e1..a565865fc 100644 --- a/testing/tests/test_hermes_herdr.py +++ b/testing/tests/test_hermes_herdr.py @@ -226,3 +226,11 @@ def test_agent_mounts_auto_router_into_both_hermes_runtimes(): item for item in pod["volumes"] if item["name"] == "auto-router-plugin" ) assert volume["configMap"]["name"] == "hermes-auto-router-plugin" + + +def test_agent_coordinator_has_a_long_running_tool_budget(): + configmap = yaml.safe_load((HERMES / "agent-configmap.yaml").read_text()) + config = yaml.safe_load(configmap["data"]["config.yaml"]) + + assert config["agent"]["max_turns"] == 180 + assert config["tool_loop_guardrails"]["hard_stop_enabled"] is True