ci / rust (push) Successful in 5m47s
The generated `maestro.service` used systemd's default `KillMode=control-group`, so `systemctl restart` (any update/auto-update) SIGKILLed the daemon's whole cgroup — including the tmux server and every `maestro-<uuid>` session. recover() then found nothing, silently destroying all live sessions and their processes on every restart. Emit `KillMode=process` in the daemon unit so only the daemon's MainPID is signalled; the tmux server survives and recover() re-adopts the sessions on the next start. (The web unit spawns no tmux, so it's left unchanged.) Tests assert the daemon unit carries KillMode=process and the web unit does not. INSTALL.md notes that updating keeps sessions, and that units written before this default need a refresh. Verified live on a host: with KillMode=process a restart leaves the session's PID unchanged (recovered=1); without it, recovered=0 and the process is gone. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>