a1de1ec2ac
- Skript deploy/curator-idle-watchdog.sh für 14-Tage-Idle-Erkennung - Spezifikation deploy/specs/curator-idle-watchdog.md - Wöchentliche Prüfung (Sonntag 00:00), Trigger bei Überschreitung
2.8 KiB
2.8 KiB
Curator Idle Watchdog Spezifikation
Ziel
Automatische Reaktivierung des Hermes Curator nach 14 Tagen Idle, damit der Skill-Graph nicht dauerhaft isoliert bleibt.
Problem
- Curator läuft normalerweise alle 7 Tage (
interval: every 7d) - Wenn der Curator ausfällt (z. B. aufgrund von
paused: true), bleiben Skills isoliert - Derzeitige Beobachtung: Curator blockiert seit 16 Tagen (Stand 24.07.2026)
- Keine automatische Erkennung → keine automatische Wiederherstellung
Lösung: Watchdog-Skript
curator-idle-watchdog.sh
Zweck: Cron-basierte Prüfung, ob der Curator zu lange offline war.
Ablauf:
hermes curator statusausführen- "last run"-Zeit extrahieren (z. B.
17d ago) - Tage berechnen und mit
THRESHOLD_DAYS=14vergleichen - Bei Überschreitung →
hermes curator runtriggern - Alle Aktionen nach
~/.hermes/logs/curator/idle-watchdog-YYYYMMDD.logprotokollieren
Cron-Eintrag
Zeitplan: Sonntag 00:00 (wöchentlich)
0 0 * * 0 ~/.hermes/profiles/werkstatt/scripts/curator-idle-watchdog.sh
Logik:
- Prüfung nur, wenn Curator
ENABLEDist - Wenn
last run< 14 Tage → nichts tun - Wenn
last run≥ 14 Tage →hermes curator runaufrufen - Fehler protokollieren, aber nicht blockieren
Implementierung
Dateien
- Skript:
~/.hermes/profiles/werkstatt/scripts/curator-idle-watchdog.sh - Cron:
/etc/cron.d/curator-idle-watchdog(oder user-level viacrontab -e) - Logs:
~/.hermes/logs/curator/idle-watchdog-*.log
Akzeptanzkriterien
- Skript existiert und ist ausführbar (
chmod +x) - Cron-Eintrag ist aktiv (wöchentliche Prüfung Sonntag 00:00)
- Reaktivierung triggert
hermes curator run - Protokollierung in
~/.hermes/logs/curator/funktioniert - Keine Änderungen an
mainoder~/mission-control-v2
Test
Manueller Test
# Simuliere 15-Tage-Idle
sed -i 's/last run:.*$/last run: 15d ago/' <(hermes curator status)
# Watchdog ausführen
~/.hermes/profiles/werkstatt/scripts/curator-idle-watchdog.sh
Erwartetes Verhalten
- Log-Eintrag:
WARNUNG: Curator ist für 15 Tage idle (>= 14) → triggere 'hermes curator run' hermes curator runwird ausgeführt- Log-Eintrag:
ERFOLG: Curator-Reaktivierung gestartet
Rollback-Plan
- Cron-Eintrag löschen:
crontab -e→ Zeile entfernen - Skript löschen:
rm ~/.hermes/profiles/werkstatt/scripts/curator-idle-watchdog.sh - Logs archivieren:
tar -czf idle-watchdog-logs-$(date +%Y%m%d).tar.gz ~/.hermes/logs/curator/idle-watchdog-*.log
Anmerkungen
- 14 Tage Threshold = Kompromiss zwischen zu häufigem Trigger (z. B. bei kurzen Wartungen) und zu spätem Erkennen
- Watchdog prüft nur bei
ENABLEDCurator (kein Fehlalarm beipaused) - Keine Abhängigkeit zu externen Diensten (reines Hermes-System)