27 Commits

Author SHA1 Message Date
Hermes Agent
4f8dcfbbf7 hermes: harden worker isolation and blocked-task semantics
Three narrowly scoped Hermes reliability fixes backed by live evidence
from the Cassandra/titan-iac proof run.

Worker concurrency. Three simultaneous direct CLI workers on the 4-core
hermes-agent node drove load to ~45 and made the hermes and oauth2-proxy
containers fail their probes, leaving the pod 8/10 Ready; two workers
stayed at 10/10. Cap HERMES_CLI_LANE_CONCURRENCY at 2 and lower the
cli-lane-runner CPU limit from 3 to 2 so the dashboard and auth sidecars
keep a guaranteed share of the node. Requests are unchanged: the pod
still asks for 745m total, so placement does not move.

Service links. Kubernetes injects a service-link variable pair for every
service in the namespace, and hermes-claude-broker produces
HERMES_CLAUDE_BROKER_PORT=tcp://10.43.31.76:9006 — a value the broker
parses as an int. That contaminated worker and test environments even
though the deployment already addresses every service by DNS name. Set
enableServiceLinks: false on the hermes-agent pod spec.

Blocked-task scheduling. create_task(initial_status="blocked") records a
created event carrying status=blocked but never a blocked event, while
_has_sticky_block() only inspects blocked/unblocked events. recompute_ready()
considers blocked tasks, so an explicitly parked task with no incomplete
parent auto-promoted on the next dispatcher cycle. Teach _has_sticky_block()
to also recognize a created event whose payload status is blocked, which
covers tasks created before this image patch without adding a persisted
field. Dependency-driven promotion and the circuit-breaker failure-limit
guard are untouched; unblock_task() still releases either kind of block.

hermes-kanban-blocked-regression.py runs against the real upstream
kanban_db API during the image build, so the build fails if any of these
semantics regress.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 20:53:22 +00:00
jenkins
4bab6130bc hermes: close parked kanban tasks atomically 2026-08-16 04:31:00 -03:00
jenkins
7d284871e8 hermes: show activity during dashboard bootstrap 2026-08-16 03:33:41 -03:00
jenkins
9bc47f9ce3 hermes: keep durable worker activity visible 2026-08-16 01:20:08 -03:00
jenkins
1d2d386aeb hermes: pin ARM64 runtime images 2026-08-15 22:32:08 -03:00
jenkins
8c73906e6e hermes: preserve exact routes and accept Telegram images 2026-08-15 22:15:40 -03:00
jenkins
d27a9649cf hermes: secure node access and expose live workers 2026-08-15 13:58:42 -03:00
jenkins
9fa7612cd4 hermes: restore terminal rendering and worker lineage 2026-08-13 02:49:41 -03:00
jenkins
65b0e7f0c5 hermes: distinguish Claude subscription auth 2026-08-13 00:12:02 -03:00
jenkins
422f001a93 hermes: make Switchyard the routing authority 2026-08-11 20:22:26 -03:00
jenkins
9f21f66fcb hermes: route turns by service priority 2026-08-11 16:22:19 -03:00
jenkins
00e67b1482 hermes(agent): preflight protected socket auth 2026-08-11 04:05:46 -03:00
jenkins
c411018853 hermes(agent): recover stale dashboard sockets 2026-08-11 03:50:13 -03:00
jenkins
47ee53fd48 hermes: recover expired dashboard sessions 2026-08-11 02:23:15 -03:00
jenkins
f48ac926ec hermes(agent): retry dashboard ticket acquisition 2026-08-10 23:57:32 -03:00
jenkins
6169b2c802 hermes(agent): reconnect stock dashboard feeds 2026-08-10 23:44:56 -03:00
jenkins
f2a3616476 hermes: grant owner agent union access 2026-08-10 17:05:14 -03:00
jenkins
dee4ee8ab8 fix(hermes): put stock TUI in foreground 2026-08-10 05:45:36 -03:00
jenkins
aa8f97e3f0 fix(hermes): route delegated work independently 2026-08-10 05:16:30 -03:00
jenkins
c0b5af8621 fix(hermes): route every agent loop through Jetson 2026-08-10 04:31:41 -03:00
jenkins
379d2ea52e fix(hermes): run coding workers unattended 2026-08-10 02:15:34 -03:00
jenkins
9bdcddad7c feat(hermes): add Jetson-assisted auto routing 2026-08-09 02:42:30 -03:00
jenkins
432466156b fix(hermes): discover chat extraction backend 2026-08-08 23:59:05 -03:00
jenkins
639ac031a8 feat(hermes): strengthen isolated chat reasoning 2026-08-08 23:25:16 -03:00
jenkins
b315e02821 fix(hermes): report consumer access denial 2026-08-02 17:00:40 -03:00
jenkins
723a789ddf fix(hermes): isolate consumer sessions 2026-08-02 16:46:21 -03:00
jenkins
5c55735c89 fix(hermes): prevent stale dashboard sockets 2026-08-02 15:53:30 -03:00