NS4 slice: Add one terminal escape-hatch panel #27
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
OBJECTIVE: Provide one terminal job panel for shell commands inside the shared panel lifecycle.
AUTHORITY: Parent #4
NS4: Repository workbench; PRODUCT.md; REQUIREMENTS.md (PRODUCT.md; req: repo/001-002; req: ui/002).AGENT AUTHORITY:
PARENT: #4 via explicit issue link and parent checklist.
SCOPE: The smallest source/docs/tests needed to make this behavior real and verified.
BOUNDARIES: No terminal tabs, panes, sessions, or tmux-like management.
ACCEPTANCE: A trace runs a simple shell command, shows output, exits/cancels cleanly, and returns to the editor.
VERIFICATION: Run the cheapest command that proves acceptance. Include regular tests for the intended payoff and adversarial tests for realistic failure, boundary, or regression cases. If no implementation test command exists yet, create/record the canonical command in AGENTS.md as part of the slice.
BLOCKERS: none
GOAL: Implement this vertical slice to the ACCEPTANCE above, keep the repo clean, cite relevant
req:anchors in code/tests where applicable, and close only after verification passes.Implemented in commit
2ec9840837(Add terminal escape hatch panel).Verification:
Regular tests:
terminal_run <cwd> <command>executes a one-shot shell command in the requested cwd, captures stdout/stderr plusterminal:status:exit_Nrows into the shared list panel, andterminal_exitcloses back to the editor.terminal_statusandterminal_cancelexpose honest foreground-only lifecycle rows (idle,no_running_terminal) rather than pretending to manage background sessions.Adversarial tests: empty/newline shell commands are rejected, shell failures surface as exit/status + stderr rows, and rejected terminal commands do not corrupt the current editor buffer.
Boundary: synchronous terminal escape hatch only. No PTY, interactive terminal emulator, background terminal sessions, panes/tabs, hidden command discovery, terminal persistence, or project mutation added.