CluPilotCloud/deploy
nexxo daeea1db0e Der Waechter hinterlaesst, was er getan hat
Der Waechter redete bisher nur ins Journal auf dem Wirt — die Konsole
im Container sieht ihn also nicht. Er schreibt jetzt zusaetzlich
storage/app/deploy/watchdog-last-run.json (atomar, .tmp + mv) mit
Ausgang (idle/healed/stood_down) und den say()-Meldungen des Laufs.
WatchdogLog::lastRun() liest das robust (fehlend/kaputt -> null,
stale-Erkennung nach 5 Minuten).

Die mitgelieferte Testvorlage hatte selbst einen Fehler: die
docker-Attrappe setzte ihren mehrzeiligen Vorgabewert ungequotet in
generierten Shell-Code ein, wodurch die "ps"-Antwort einen Dienst
verschluckte und der idle-Test faelschlich "healed" sah. Behoben
durch Anfuehrungszeichen um den eingesetzten Wert.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-04 17:06:02 +02:00
..
bootstrap Codex-Runde 2: der Gateway-Fix erreichte den Produktivpfad nicht 2026-08-01 13:34:12 +02:00
caddy Create the file the import needs, instead of writing that something else does 2026-07-30 23:35:13 +02:00
lib Fix-Welle: Schlussreview-Befunde 1-6 zur Release-Decke 2026-08-04 16:25:48 +02:00
clupilot.env.example Show times on the operator's clock, keep storing them in UTC 2026-07-27 17:32:21 +02:00
install-agent.sh Merge branch 'claude/nice-moser-521659' 2026-08-04 10:31:59 +02:00
install.sh Fix-Welle Ganz-Branch-Review: weltlesbare .env-Sicherung, blinder Test, drei Installer-Texte 2026-08-04 15:56:21 +02:00
rescue-tunnel.sh Der Tunnel bekommt einen eigenen Container 2026-08-03 07:49:29 +02:00
update-agent.sh Der Agent klemmt Ziel und Zaehler an der Decke 2026-08-04 14:53:14 +02:00
update.sh Fix-Welle Ganz-Branch-Review: weltlesbare .env-Sicherung, blinder Test, drei Installer-Texte 2026-08-04 15:56:21 +02:00
watchdog.sh Der Waechter hinterlaesst, was er getan hat 2026-08-04 17:06:02 +02:00