Add "stop" and "rename" to the Alt+p tool palette so a session can be
managed from inside its own harness window, mirroring the TUI's s/r keys:
- stop kills the harness window (stop_session_for_window).
- rename prompts for a nickname, pre-filled with the current one. The
name is read from /dev/tty via readline (the fzf pipe leaves our stdin
spent) and never passes through tmux's command parser, so there's
nothing to quote-escape.
Extract require_session_id_for_window as the shared resolve-or-raise
guard behind the tool/stop/rename branches, dropping the duplicated
"not an hqt session window" check.
Also removes the now-shipped feature plans and specs under docs/.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Hook the existing tmux window-index reset into the Alt+p tool palette,
special-cased like clone: selecting 'reset-windows' compacts the hqt
session's window indexes (keeping the home window at 0) via
TmuxManager.reset_window_indexes.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Address three integration gaps found in review:
- Bind ~/.gitconfig read-only in the sandbox base layer so `git commit`
finds user.name/email inside the jail (spec §3).
- Bind a worktree session's repo common .git dir writable: the worktree's
real gitdir lives at <repo>/.git/worktrees/<branch>, outside the bound
cwd, so git was broken in sandboxed worktree sessions.
- doctor now gates on sandbox.is_available() (the single source of truth
shared with the New Session dialog) rather than a raw shutil.which, so
it agrees with the service on non-Linux platforms (spec §6).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds a non-fatal bubblewrap check to the doctor command that reports whether
the bwrap binary is available. This is necessary for sandboxed sessions and
the check is displayed alongside other system requirement checks.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>