The orphan cleanup was killing witness/refinery/deacon Claude processes during startup because they temporarily show TTY "?" before fully attaching to the tmux session. Added getGasTownSessionPIDs() to discover all PIDs belonging to valid gt-* and hq-* tmux sessions (including child processes). The orphan cleanup now skips these PIDs, only killing truly orphaned processes from dead sessions. This fixes the race condition where: 1. Daemon starts a witness/refinery session 2. Claude starts but takes time to show a prompt 3. Startup detection times out 4. Orphan cleanup sees Claude with TTY "?" and kills it Now processes in valid sessions are protected regardless of TTY state. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
11 KiB
11 KiB