docs(spec): add tmux window/rename suppression spec and research - #645
docs(spec): add tmux window/rename suppression spec and research#645lavaman131 wants to merge 1 commit into
Conversation
Review — docs(spec): add specs + researchDocs-only PR adding a TDD plus two research docs for the tmux lockdown work. Overall this is a very thorough and well-structured package — the research is exhaustively cross-referenced to code (line numbers throughout), open questions are explicitly traced back to user resolutions, and the decision to prefer Strengths
Critical Concern
The entire G3 gate (blocking Ctrl+C/ESC during active stages) depends on If
Other Concerns
Style / Conventions
Test CoverageN/A — docs-only. Spec test plan covers the future implementation; see concern #6 above for the specificity gap. SecurityN/A — docs-only, no attack surface changes. The spec's own §7.1 correctly scopes the threat model to accidental destruction, not malicious self-sabotage. Recommendation: Merge after (a) verifying |
Summary
Adds a Technical Design Document (RFC) and supporting research for suppressing destructive tmux actions (window close, rename, Ctrl+C/ESC) in Atomic agent sessions, along with the codebase survey and web reference docs that back it.
Key Changes
specs/2026-04-15-tmux-window-close-rename-suppression.md— Full RFC covering:set -g prefix None) on the isolated-L atomicserver to eliminate all prefix-gated destructive bindings in one strokeMouseDown3Status,MouseDown3Pane) on agent windowsCtrl+CandEscapein chat-session windows (always) and in workflow agent windows while a stage is active (ATOMIC_STAGE_ACTIVEenv var)Statuslinealready renders navigation hints thereqin the orchestrator as the sole exit path (unchanged)ATOMIC_STAGE_ACTIVElifecycle management (cleared at startup, set/cleared viafinallyaround stage bodies)research/docs/2026-04-15-tmux-window-close-rename-suppression.md— Codebase survey coveringtmuxRun(),tmux.conf, session taxonomy,parseSessionName(), abort/exit plumbing, SDK idle/cancellation events (Claude/OpenCode/Copilot), and paused-state primitives (ticket update readme and mcp servers #3)research/web/2026-04-15-tmux-keybind-suppression.md— Web reference covering tmux/psmux default binding tables,if-shell -Fconditional semantics,display-messagetoast mechanics, and hook APIsContext
This spec is a prerequisite for the paused-state objective (ticket #3): a clean tmux window must survive as a resume target for Claude's interactive/pane-capture path. Without window-close suppression, the paused-state feature cannot land safely.
Notes
-L atomicisolated server; the user's personal tmux is unaffected