Files
Hitonabi a1de1ec2ac feat: Curator Idle Watchdog implementieren
- 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
2026-07-24 08:53:19 +02:00

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:

  1. hermes curator status ausführen
  2. "last run"-Zeit extrahieren (z. B. 17d ago)
  3. Tage berechnen und mit THRESHOLD_DAYS=14 vergleichen
  4. Bei Überschreitung → hermes curator run triggern
  5. Alle Aktionen nach ~/.hermes/logs/curator/idle-watchdog-YYYYMMDD.log protokollieren

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 ENABLED ist
  • Wenn last run < 14 Tage → nichts tun
  • Wenn last run ≥ 14 Tage → hermes curator run aufrufen
  • 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 via crontab -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 main oder ~/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

  1. Log-Eintrag: WARNUNG: Curator ist für 15 Tage idle (>= 14) → triggere 'hermes curator run'
  2. hermes curator run wird ausgeführt
  3. 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 ENABLED Curator (kein Fehlalarm bei paused)
  • Keine Abhängigkeit zu externen Diensten (reines Hermes-System)