From f457b89e9ee7dd29cb7cb80cd7ad7f0eda453b1b Mon Sep 17 00:00:00 2001 From: jenkins Date: Mon, 10 Aug 2026 05:55:21 -0300 Subject: [PATCH] fix(hermes): wait for Herdr socket before cleanup --- services/hermes/agent-deployment.yaml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/services/hermes/agent-deployment.yaml b/services/hermes/agent-deployment.yaml index a7cd046cc..eb1277362 100644 --- a/services/hermes/agent-deployment.yaml +++ b/services/hermes/agent-deployment.yaml @@ -511,16 +511,23 @@ spec: herdr server & server_pid=$! trap 'kill "${server_pid}" 2>/dev/null || true' TERM INT + agent_payload= for attempt in $(seq 1 60); do - if herdr status server >/dev/null 2>&1; then break; fi + candidate="$(/opt/data/tools/bin/herdr agent list 2>/dev/null || true)" + if printf '%s' "${candidate}" | /opt/hermes/.venv/bin/python -c \ + 'import json, sys; json.load(sys.stdin)' 2>/dev/null; then + agent_payload="${candidate}" + break + fi sleep 1 done - legacy_hermes_panes="$(/opt/data/tools/bin/herdr agent list | \ + legacy_hermes_panes="$(printf '%s' "${agent_payload}" | \ /opt/hermes/.venv/bin/python -c ' import json import sys - payload = json.load(sys.stdin) + raw = sys.stdin.read().strip() + payload = json.loads(raw) if raw else {} for agent in payload.get("result", {}).get("agents", []): if agent.get("agent") == "hermes" and agent.get("pane_id"): print(agent["pane_id"])