From 9dcbdf8106180099eb96011b04fad1207983a935 Mon Sep 17 00:00:00 2001 From: toast Date: Fri, 2 Jan 2026 18:56:40 -0800 Subject: [PATCH] =?UTF-8?q?fix(boot):=20Rename=20session=20gt-deacon-boot?= =?UTF-8?q?=20=E2=86=92=20gt-boot=20to=20fix=20prefix=20collision?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The tmux session name "gt-deacon-boot" was causing HasSession("gt-deacon") to return true due to tmux prefix matching behavior. This made the daemon think the Deacon was running when only Boot was active, and caused commands targeting "gt-deacon" to be sent to Boot session instead. The fix renames Boot session from "gt-deacon-boot" to "gt-boot", which has no prefix overlap with "gt-deacon". Fixes: gt-sgzsb 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- docs/operational-state.md | 2 +- internal/boot/boot.go | 6 +++++- internal/cmd/boot.go | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/operational-state.md b/docs/operational-state.md index 61dc28bf..45ffb4c0 100644 --- a/docs/operational-state.md +++ b/docs/operational-state.md @@ -171,7 +171,7 @@ task nature matters. ~/gt/deacon/dogs/boot/ ``` -Session name: `gt-deacon-boot` +Session name: `gt-boot` Created/maintained by `bd doctor`. diff --git a/internal/boot/boot.go b/internal/boot/boot.go index 9476405b..c51808ad 100644 --- a/internal/boot/boot.go +++ b/internal/boot/boot.go @@ -16,7 +16,11 @@ import ( ) // SessionName is the tmux session name for Boot. -const SessionName = "gt-deacon-boot" +// Note: We use "gt-boot" instead of "gt-deacon-boot" to avoid tmux prefix +// matching collisions. Tmux matches session names by prefix, so "gt-deacon-boot" +// would match when checking for "gt-deacon", causing HasSession("gt-deacon") +// to return true when only Boot is running. +const SessionName = "gt-boot" // MarkerFileName is the file that indicates Boot is currently running. const MarkerFileName = ".boot-running" diff --git a/internal/cmd/boot.go b/internal/cmd/boot.go index 2ac12332..7f30316c 100644 --- a/internal/cmd/boot.go +++ b/internal/cmd/boot.go @@ -36,7 +36,7 @@ Boot lifecycle: 4. Boot exits (or handoffs in non-degraded mode) Location: ~/gt/deacon/dogs/boot/ -Session: gt-deacon-boot`, +Session: gt-boot`, } var bootStatusCmd = &cobra.Command{