fix(@projects/@claire): 🐛 claire-agent KillMode=process so redeploys don't kill workers

Default control-group KillMode meant restarting claire-agent.service (every
deploy) SIGTERMed the whole cgroup, silently killing the live worker claude/tmux
sessions the agent had spawned (next-tour-planner lost on 2026-06-02). KillMode=
process signals only `claire agent run`; panes survive and the fresh agent
re-discovers them via pull. Note: takes effect from the NEXT restart (a unit's
stop phase uses the KillMode it was started under).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Natalie 2026-06-02 23:25:43 -07:00
parent ce6948d6e9
commit 2d3777a7d0

View file

@ -8,6 +8,13 @@ Wants=network-online.target
[Service]
Type=simple
# KillMode=process (NOT the default control-group): restarting this unit on a
# redeploy must NOT tear down the worker claude/tmux sessions the agent spawned
# into its cgroup. control-group SIGTERMs the whole tree, silently killing live
# dispatched workers on every deploy (the next-tour-planner was lost this way on
# 2026-06-02). With process, only `claire agent run` is signalled; the panes
# survive and the fresh agent re-discovers them via the pull/liveness pass.
KillMode=process
# rclaude (session-tools) lives in ~/.local/bin (+ pnpm global). systemd --user
# starts with a minimal PATH, so the supervisor couldn't find rclaude — add the
# user bin dirs. (Where rclaude is absent, the supervisor self-disables.)