Selbstkritik-Cron (Faden 11b): der Radar-Zwilling nach innen

- selbstkritik-prompt.md: Auftrag (1-3 belegte Verbesserungen, Lucys Stimme,
  Leitplanken: nur vorschlagen, Hermes-Quellcode tabu, Security nur benennen)
- selbstkritik-feed.sh: Live-Daten (Voice-Latenzen, Token-Stats, Prompt-Größen
  je Lane als Diät-Kontrolle, Journal-Warnmuster, Tool-Loops, Curator, notify-
  Fallbacks); deploy.sh kopiert ihn nach ~/.hermes/scripts

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-07-03 15:02:12 +02:00
parent c8e408cdd8
commit 8b0e14db7c
3 changed files with 68 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
#!/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"