Files
mission-control-v2/deploy/stack-rundumschlag-feed.sh
T
Hitonabi 90ab873924 Stack-Rundumschlag: monatlicher freier Rundumblick (Cron am 4., 06:40)
Ergaenzt die mechanischen Waechter um tagesaktuelle Web-Recherche —
Lehrbeispiel Gemma-4-Stealth-Update 15./16.07. ohne Versionssprung,
das kein Radar fing. Feed sammelt IST-Stand (Rollen, Engine, Puls,
Watch, Pruefstand, Ressourcen, Fehlerbild), Agent recherchiert und
empfiehlt max. 3 Schritte; umgesetzt wird per Karten-Klick.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 17:35:26 +02:00

88 lines
3.6 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# Stack-Rundumschlag (monatlich am 4. um 06:40, angelegt 22.07.2026):
# Lucys freier Rundumblick über den GANZEN Stack — ergänzt die mechanischen
# Wächter (Sa Trend-Radar, So Prüfstand, Mo Release-Radar, Wartungsserie 1.3.)
# um tagesaktuelle Web-Recherche + Quervergleich mit den Verdikten.
# Anlass/Lehrbeispiel: Googles Gemma-4-Stealth-Update vom 15./16.07.2026 kam
# OHNE Versionssprung — kein mechanischer Wächter schlug an, erst freie
# Recherche fand es (Session 22.07., Claude-Desktop).
# Muster wie die anderen Feeds: dieses Skript sammelt DETERMINISTISCH den
# IST-Stand, der Agent recherchiert + berichtet. Er EMPFIEHLT NUR — umgesetzt
# wird per Karten-Klick durch den Commander.
set -uo pipefail
MC="$HOME/mission-control-v2"
STATE_DIR="$HOME/.hermes/state"
# ---------- Versionierter Auftrag für den Agenten ----------
cat "$MC/deploy/stack-rundumschlag-prompt.md" 2>/dev/null || cat <<'EOF'
(Prompt-Datei fehlt — Kurzform:) Du bist der monatliche Stack-Rundumschlag.
Recherchiere tagesaktuell im Web zu allen Bausteinen unten (auch Stealth-Updates
ohne Versionssprung!), gleiche mit den Verdikten ab und berichte in Lucys Stimme
mit höchstens 3 konkreten Empfehlungen. Nichts selbst umsetzen.
EOF
echo
echo "## RUNDUMSCHLAG-BEFUND (IST-Stand erhoben am $(date '+%d.%m.%Y %H:%M'))"
echo
echo "### Rollen laut llama-swap (:8080)"
curl -sf -m 10 http://127.0.0.1:8080/v1/models 2>/dev/null \
| python3 -c 'import json,sys
for m in json.load(sys.stdin).get("data", []):
print("-", m.get("id"))' 2>/dev/null || echo "(llama-swap nicht erreichbar)"
echo
echo "### Laufende Engine(s) — Version + Startzeile"
gefunden=0
for pid in $(pgrep -f 'llama-server' 2>/dev/null | head -3); do
exe="$(readlink -f "/proc/$pid/exe" 2>/dev/null)" || continue
[ -x "$exe" ] || continue
ver="$("$exe" --version 2>&1 | head -1)"
echo "- PID $pid$ver"
echo " $(tr '\0' ' ' < "/proc/$pid/cmdline" 2>/dev/null | cut -c1-320)"
gefunden=1
done
[ "$gefunden" = 1 ] || echo "(kein llama-server aktiv — Warm-Set prüfen)"
echo
echo "### Puls-Historie (letzte 2 Erhebungen des Trend-Radars)"
tail -2 "$STATE_DIR/trend-radar-puls-history.jsonl" 2>/dev/null || echo "(keine Historie)"
echo
echo "### Watch-Stände (Trend-Radar-State)"
python3 -m json.tool "$STATE_DIR/trend-radar-state.json" 2>/dev/null | head -40 || echo "(kein State)"
echo
echo "### Prüfstand: Queue + letzte Verdikte"
echo "Queue:"
ls "$STATE_DIR/pruefstand/queue" 2>/dev/null || true
echo "Fertig (Zusammenfassungen):"
for f in "$STATE_DIR"/pruefstand/done/*.json; do
case "$f" in *.spec.json) continue ;; esac
[ -f "$f" ] || continue
python3 - "$f" <<'PY' 2>/dev/null || true
import json, os, sys
d = json.load(open(sys.argv[1]))
teile = [f"{k}:{v.get('bestanden')}/{v.get('gesamt')}"
for k, v in d.get("zusammenfassung", {}).items()]
print(f"- {os.path.basename(sys.argv[1])} ({d.get('erhoben', '?')}): " + " ".join(teile))
PY
done
echo
echo "### Ressourcen"
free -g | sed -n '2p'
df -h /srv 2>/dev/null | tail -1
df -h / | tail -1
echo
echo "### Fehlerbild (best effort)"
tail -5 "$HOME/.hermes/logs/monitoring/error_history.csv" 2>/dev/null || true
journalctl --user -u hermes-gateway --since '-7 days' -p warning --no-pager 2>/dev/null | tail -5 || true
echo
echo "### Nachschlagewerke für den Abgleich (per file_read bzw. Browser lesen)"
echo "- Verdikte (NICHT neu aufrollen, außer Faktenlage messbar neu): $MC/docs/wissen/VERDIKTE.md"
echo "- Watch-Liste (was mechanisch schon überwacht wird): $MC/deploy/trend-radar-watchlist.json"
echo "- Community-Messwerte unserer Hardware: https://github.com/hogeheer499-commits/strix-halo-guide"