Skip to content

AI-Engineering-at/hermes-dispatcher-watcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hermes-dispatcher-watcher

Self-Heal-Watchdog für Hermes-Aufgaben-Dispatcher (M40 Bauteil #84).

Stand: 2026-05-27 Status: Bauteil-Mac (Reife-5), LIVE launchd (5min interval) Visibility: private Bauteil-ID: #84

Zweck

Periodisch (alle 5min) prüfen ob der at.aie.hermes-aufgaben launchd-Job in den letzten 40 Minuten gelaufen ist (Schedule = alle 30min, 10min Grace). Wenn nicht: launchctl kickstart -k gui/<uid>/at.aie.hermes-aufgaben. Bei 2x consecutive failed kickstarts: Joe-DM-Eskalation via MM_HOME_CHANNEL.

Pattern-Vorbild: ~/code-aie/hermes-mm-heal/ (#78).

Exit-Codes

Code Bedeutung
0 Dispatcher gesund (frischer Tick im Log)
1 War stuck, kickstart healed
2 Dispatcher-Log nicht lesbar
3 Kickstart fehlgeschlagen (oder healed nicht)
4 Eskaliert zu Joe (consecutive_fails >= 2)

Struktur

hermes-dispatcher-watcher/
├── src/
│   └── hermes_dispatcher_watcher.py   # stdlib-only, Python 3.9+
├── tests/
│   └── test_dispatcher_watcher.py     # 7 pure-function tests
├── at.aie.hermes-dispatcher-watcher.plist
├── README.md
└── LICENSE

Quick Start

# Tests
/usr/bin/python3 tests/test_dispatcher_watcher.py

# Manueller Run
/usr/bin/python3 src/hermes_dispatcher_watcher.py
echo "exit=$?"

# Logs
tail -20 ~/.hermes/dispatcher_watcher.log
cat ~/.hermes/dispatcher_watcher_state.json

Install (launchd)

cp at.aie.hermes-dispatcher-watcher.plist ~/Library/LaunchAgents/
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/at.aie.hermes-dispatcher-watcher.plist
launchctl kickstart -k gui/$(id -u)/at.aie.hermes-dispatcher-watcher
launchctl print gui/$(id -u)/at.aie.hermes-dispatcher-watcher | grep -E "state|last exit"

Compliance & Doctrine

  • Anti-Pattern A33 (KEIN-MOCK-ABSOLUT): echte Log-mtime + Log-Inhalt, kein Fake-Status.
  • ISC2-CC-Framing: Block 11 (Defense-in-Depth), Block 14 (Risk-Treatment Mitigate), Block 17 (Incident-Response → Joe-DM bei 2x fail).
  • Append-only Code: Refactor via DEC-Eintrag.
  • Fallback-Chain (Regel 16):
    • Probe-Fail → return exit 2 (kein false-restart)
    • Kickstart-Fail 1x → state.consecutive_fails++, retry next tick
    • Kickstart-Fail 2x → Joe-MM-DM + exit 4
    • MM-Token missing → escalation skipped + WARN-log (kein silent-fail)

Cross-Reference

  • Pattern-Vorbild: ~/code-aie/hermes-mm-heal/ (#78)
  • Watch-Ziel: ~/hermes-docker/aufgaben/_dispatcher.py
  • Build-Beleg (raw): ~/kb/raw/2026-05-27-w84-h-hermes-dispatcher-watcher-bauteil.md
  • Bauteil-Inventar: ~/kb/ops/BAUTEILE-INVENTAR.md (Eintrag #84)

License

Proprietary — internal infrastructure. See LICENSE.

About

Self-Heal-Watchdog für Hermes-Aufgaben-Dispatcher (Bauteil #84)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages