From ad49dd65ca85be8529d080d315fb7c84ffbb7ff6 Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Sat, 25 Jul 2026 22:19:30 +0200 Subject: [PATCH] Update-Kette repariert: Boot-Warmliste zurueckgenommen + Tool-Smoke mit Retry MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MEINE REGRESSION. Das systemd-Drop-in vom Umbau setzte MC_WARMUP_MODELS="fast coder kritiker". warmup.sh waermt aber erst ALLE Chat- Modelle, dann Embeddings und ERST DANN Hermes' ~70-KB-Agenten-Prompt — genau das, was der Tool-Smoke braucht. Coder (48 GB) + Kritiker davorzuschieben kostete ~35 s und trieb den Tool-Smoke ueber sein 90-s-Limit: Job faf1137a262c FAILED mit "Tool-Smoke ohne verwertbares Ergebnis" (leere Antwort = curl-Timeout), obwohl Agent und Modelle in Ordnung waren. Warm gemessen dauert derselbe Aufruf 12 s. Zwei Korrekturen: 1. Boot-Warmliste zurueck auf "fast" (Drop-in auf der Box). Lucys Hirn und der Agenten-Prompt haben Vorrang; der Coder waermt beim ersten Auftrag selbst (23 s einmalig, dann 90 min warm). 2. Tool-Smoke bekommt 3 Versuche + 120 s statt 1 Versuch + 90 s — dieselbe Lehre, die der Voice-Smoke zehn Zeilen tiefer laengst umgesetzt hatte ("erster Turn zahlt den Session-Kaltstart"). Ein Versuch war ein Fehlalarm-Generator. Bewiesen: llama-swap kalt neu gestartet, Postcheck sofort danach -> GEHIRN OK, Tool-Smoke im ersten Versuch. Co-Authored-By: Claude Opus 5 --- deploy/hermes-postcheck.sh | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/deploy/hermes-postcheck.sh b/deploy/hermes-postcheck.sh index 1f1aeae..14e9117 100644 --- a/deploy/hermes-postcheck.sh +++ b/deploy/hermes-postcheck.sh @@ -72,12 +72,22 @@ fi # --- Approval-/Tool-Ketten (Antwort muss kommen und darf nicht in pending_approval hängen). --- API_KEY="$(grep -E '^API_SERVER_KEY=' "$HERMES/.env" 2>/dev/null | cut -d= -f2- | tr -d '"' | tr -d "'")" if [ -n "$API_KEY" ]; then - TOOL_RESP=$(curl -sf -m 90 -X POST "http://127.0.0.1:8642/v1/chat/completions" \ - -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" \ - -H "X-Hermes-Session-Id: postcheck-tool-smoke" \ - -d '{"model":"hermes","stream":false,"messages":[{"role":"user","content":"Führe im Terminal exakt den Befehl echo postcheck-ok aus und gib mir nur dessen Ausgabe zurück."}]}' 2>/dev/null) + # Mit Retry — GENAU wie der Voice-Smoke darunter, und aus demselben Grund: direkt nach + # einem Update ist das Modell kalt. Ein Kaltstart kostet ~20-30 s Laden PLUS ~37 s + # Prefill für Hermes' ~70-KB-Systemprompt (33 Tool-Schemas) — zusammen mit zwei + # Inferenz-Runden sprengt das die 90 s des ersten Versuchs. Warm gemessen: 12 s. + # Ein Versuch allein war ein Fehlalarm-Generator (live erlebt 25.07., Job faf1137a). + TOOL_RESP="" + for try in 1 2 3; do + TOOL_RESP=$(curl -sf -m 120 -X POST "http://127.0.0.1:8642/v1/chat/completions" \ + -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" \ + -H "X-Hermes-Session-Id: postcheck-tool-smoke-$try" \ + -d '{"model":"hermes","stream":false,"messages":[{"role":"user","content":"Führe im Terminal exakt den Befehl echo postcheck-ok aus und gib mir nur dessen Ausgabe zurück."}]}' 2>/dev/null) + echo "$TOOL_RESP" | grep -qi "postcheck-ok" && break + [ "$try" -lt 3 ] && sleep 10 + done if echo "$TOOL_RESP" | grep -qi "postcheck-ok"; then - echo "PASS · Tool-Smoke (terminal via Agent) liefert Ergebnis" + echo "PASS · Tool-Smoke (terminal via Agent) liefert Ergebnis (Versuch $try)" elif echo "$TOOL_RESP" | grep -qi "pending_approval"; then echo "FAIL · Tool-Smoke hängt in pending_approval (approvals.mode prüfen!)"; fail=1 else