#!/usr/bin/env bash # Feed für den Selbstkritik-Cron (Faden 11b — Zwilling des Evolution-Radars, Blick nach INNEN). # Liegt in ~/.hermes/scripts/ (deploy.sh kopiert ihn); stdout wird dem Cron-Agenten als # Prompt eingespeist: versionierter Auftrag (deploy/selbstkritik-prompt.md) + Live-Betriebsdaten. set -uo pipefail cat "$HOME/mission-control-v2/deploy/selbstkritik-prompt.md" echo echo "## LIVE-DATEN (automatisch erhoben am $(date '+%d.%m.%Y %H:%M'))" echo echo "### Voice-Pipeline-Latenzen (rollend, ms — :9001/api/voice/metrics):" curl -sf --max-time 15 http://127.0.0.1:9001/api/voice/metrics | jq -c . 2>/dev/null \ || echo "(nicht erreichbar)" echo echo "### Token-Verbrauch / Cloud-Ersparnis:" curl -sf --max-time 15 http://127.0.0.1:9001/api/system/token-stats | jq -c . 2>/dev/null \ || echo "(nicht erreichbar)" echo echo "### Prompt-Budget (Hinweis: prompt-size ist Allowlist-blind — die Voice-Lane hat real" echo "### deutlich weniger Tools; als Trend-Wächter für den GESAMT-Bestand trotzdem nützlich):" bash -lc "hermes prompt-size" 2>/dev/null | grep -E "total|skills index|Tool schemas" || echo " (Messung fehlgeschlagen)" echo echo "### Gateway-Journal: häufigste Warnungen/Fehler der letzten 30 Tage (Anzahl · Muster):" journalctl --user -u hermes-gateway -p warning --since "30 days ago" --no-pager 2>/dev/null \ | grep -oE "(WARNING|ERROR)[^:]*: .{0,90}" | sed "s/[0-9]\{3,\}/N/g" | sort | uniq -c | sort -rn | head -12 \ || echo "(keine oder Journal nicht lesbar)" echo echo "### Tool-Loop-Guardrail-Treffer (letzte 30 Tage):" n=$(journalctl --user -u hermes-gateway --since "30 days ago" --no-pager 2>/dev/null \ | grep -ci "loop guard\|hard_stop\|tool loop" || true) echo "${n:-0}" echo echo "### Skill-Bestand & Curator:" bash -lc "hermes curator status" 2>/dev/null | head -14 || echo "(Curator-Status fehlgeschlagen)" echo echo "### Meldeweg-Ausfälle (notify.sh-Fallbacks, letzte 30 Tage):" n=$(grep -c "FALLBACK" "$HOME/mc2-notify.log" 2>/dev/null || true) echo "${n:-0}"