mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
Under MODE_DEBUG, sys-service maps SYS_SERVICE_DEFAULT_STATE to 'restarted', so the role did not merely install and enable the weekly unit - the handler started it mid-play. Its ExecStart runs files/script.py over DIR_COMPOSITIONS without --only and with no health filter, i.e. `compose down` + `compose up -d` on every project on the host, unlike sys-ctl-rpr-container-soft which restarts only unhealthy or exited ones. In run 30781723102 that destroyed a matrix stack the role had just proven healthy: the loopback probe answered 200 from Synapse/1.157.2 at 08:34:20, the handler ran 08:36:27-08:37:33, and the kill markers list all 17 projects with matrix at 08:37:12. Because the mdad bootstrap gate gets its marker from a volume but the synapse unit from the container rootfs, the recreated container re-ran the full cold bootstrap and was still installing galaxy roles 13 minutes later, so the readiness probe measured 502 for its entire budget. system_service_suppress_flush skips only the state task in the handler; the unit file, the enable and the timer are unaffected, and the repair still runs on its schedule and via OnFailure. The unit does not reach the sys-service-terminator either, since the final run list is written only when system_service_force_flush_final is set. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>