#!/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-Größen je Lane (Diät-Kontrolle; Voice sollte DEUTLICH unter cli liegen):" for p in api_server cli telegram; do echo "— $p:" bash -lc "hermes prompt-size --platform $p" 2>/dev/null | grep -E "total|Tool schemas" || echo " (Messung fehlgeschlagen)" done echo echo "### Gateway-Journal: häufigste Warnungen/Fehler der letzten 30 Tage (Anzahl · Muster):" journalctl --user -u hermes-gateway -p warning --since "-30 days" --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 "(Journal nicht lesbar)" echo echo "### Tool-Loop-Guardrail-Treffer (letzte 30 Tage):" journalctl --user -u hermes-gateway --since "-30 days" --no-pager 2>/dev/null \ | grep -ci "loop guard\|hard_stop\|tool loop" || echo "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):" grep -c "FALLBACK" "$HOME/mc2-notify.log" 2>/dev/null || echo "0"