Previously, town-level session stopping (Mayor, Boot, Deacon) was implemented inline in gt down with separate code blocks for each session. The shutdown order (Boot must stop before Deacon to prevent the watchdog from restarting Deacon) was implicit in the code ordering. Add session.TownSessions() and session.StopTownSession() to centralize town-level session management. This provides a single source of truth for the session list, shutdown order, and graceful/force logic. Refactor gt down to use these helpers instead of inline logic. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.3 KiB
4.3 KiB