From cef7241f11911ba6a882e3ba442704207782bc44 Mon Sep 17 00:00:00 2001 From: jenkins Date: Sun, 16 Aug 2026 06:06:26 -0300 Subject: [PATCH] hermes: avoid empty ad hoc task lookups --- services/hermes/agent-configmap.yaml | 9 +++++++++ services/hermes/agent-deployment.yaml | 2 +- testing/tests/test_hermes_chat_quality.py | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/services/hermes/agent-configmap.yaml b/services/hermes/agent-configmap.yaml index d82f96b4..b5c76d14 100644 --- a/services/hermes/agent-configmap.yaml +++ b/services/hermes/agent-configmap.yaml @@ -248,6 +248,15 @@ data: those findings, finish any required repair and verification, and emit the task's final structured result itself. + Never call `kanban_show` without a known, non-empty task ID from the + request, environment, or a prior Kanban result. If an objective is not + attached to a Kanban task, use `kanban_list` only when board context is + actually needed; bounded ad-hoc inspection and acceptance checks may + proceed without a synthetic task lookup. Load a skill only when its + workflow materially applies to the requested action. In particular, do not + load implementation or TDD skills for a read-only verification that uses + an already-existing test. + When authoritative evidence warrants closing a `blocked` or `scheduled` task, call `kanban_complete` or `hermes kanban complete` directly. That operation is atomic for parked tasks. Never unblock and then complete in diff --git a/services/hermes/agent-deployment.yaml b/services/hermes/agent-deployment.yaml index 9b1b6d9c..77f1afe2 100644 --- a/services/hermes/agent-deployment.yaml +++ b/services/hermes/agent-deployment.yaml @@ -25,7 +25,7 @@ spec: ai.bstein.dev/execution: Hermes Kanban with durable direct Codex and Claude Code CLI workers 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: "20260816-go-toolchain-v1" + ai.bstein.dev/config-rev: "20260816-ad-hoc-efficiency-v1" prometheus.io/scrape: "true" prometheus.io/path: /metrics prometheus.io/port: "9010" diff --git a/testing/tests/test_hermes_chat_quality.py b/testing/tests/test_hermes_chat_quality.py index 3744ea94..b22d6647 100644 --- a/testing/tests/test_hermes_chat_quality.py +++ b/testing/tests/test_hermes_chat_quality.py @@ -91,6 +91,9 @@ def test_agent_config_keeps_delegated_reviewers_from_owning_task_lifecycle(): assert "Atlas organization has private visibility" in instructions assert "private or Gitea-internal, never public" in instructions assert "already supplied through `GIT_ASKPASS`" in instructions + assert "Never call `kanban_show` without a known, non-empty task ID" in instructions + assert "bounded ad-hoc inspection and acceptance checks may" in instructions + assert "load implementation or TDD skills" in instructions def test_agent_image_completes_parked_kanban_tasks_atomically():