hermes: avoid empty ad hoc task lookups

This commit is contained in:
jenkins 2026-08-16 06:06:26 -03:00
parent 7ac7f21a04
commit cef7241f11
3 changed files with 13 additions and 1 deletions

View File

@ -248,6 +248,15 @@ data:
those findings, finish any required repair and verification, and emit the those findings, finish any required repair and verification, and emit the
task's final structured result itself. 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` When authoritative evidence warrants closing a `blocked` or `scheduled`
task, call `kanban_complete` or `hermes kanban complete` directly. That task, call `kanban_complete` or `hermes kanban complete` directly. That
operation is atomic for parked tasks. Never unblock and then complete in operation is atomic for parked tasks. Never unblock and then complete in

View File

@ -25,7 +25,7 @@ spec:
ai.bstein.dev/execution: Hermes Kanban with durable direct Codex and Claude Code CLI workers 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/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/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/scrape: "true"
prometheus.io/path: /metrics prometheus.io/path: /metrics
prometheus.io/port: "9010" prometheus.io/port: "9010"

View File

@ -91,6 +91,9 @@ def test_agent_config_keeps_delegated_reviewers_from_owning_task_lifecycle():
assert "Atlas organization has private visibility" in instructions assert "Atlas organization has private visibility" in instructions
assert "private or Gitea-internal, never public" in instructions assert "private or Gitea-internal, never public" in instructions
assert "already supplied through `GIT_ASKPASS`" 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(): def test_agent_image_completes_parked_kanban_tasks_atomically():