Critical fix
Fixes the three-cascade session-death bug that hit developer hosts three times on 2026-04-17.
The real root cause: tmux client discovery order is $TMUX → -S → -L → $TMUX_TMPDIR. On any developer host that uses agent-deck, tests run inside a tmux pane and inherit TMUX=/tmp/tmux-<uid>/default,.... TMUX short-circuits TMUX_TMPDIR, so v1.7.3's TMUX_TMPDIR-only fix was mechanically unable to isolate. Tests spawned real tmux sessions on the user's real server and destabilized it.
The fix (three layers):
testutil.IsolateTmuxSocketnow unsets TMUX + TMUX_PANE + sets AGENT_DECK_TEST_ISOLATED=1 marker. Cleanup restores all four env vars.- New real-tmux end-to-end test asserts the user's default-socket mtime is unchanged after spawning real sessions. Would catch a regression immediately.
- Runtime guard in
internal/tmux.Startpanics loudly if any test binary inherits TMUX pointing at the default socket — catches new packages whose TestMain forgets the helper.
Real-world verified: full go test ./... -race ran on a conductor host with live sessions; /tmp/tmux-1000/default mtime unchanged byte-for-byte (09:28:01.741806757 before and after).
Recommended action for existing installs
If you are running agent-deck locally (not via Homebrew), go install or brew upgrade agent-deck after this release lands. The binary itself is unaffected by this change — it only matters when running tests from source. But the runtime guard in this version ensures future test-induced cascades cannot happen silently.