NS1 slice: Render and edit one buffer through the terminal thin client #12
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: Add the first TUI path over the same session/protocol concepts: render visible lines, cursor/status, basic insert/delete/save/quit, and resize handling.
AUTHORITY: Parent #1
NS1: Minimal protocol-first mim-min editor; PRODUCT.md; REQUIREMENTS.md (PRODUCT.md; req: session/001-004; req: coding/001; req: governance/001; req: governance/003).AGENT AUTHORITY:
PARENT: #1 via explicit issue link and parent checklist.
SCOPE: The smallest source/docs/tests needed to make this behavior real and verified.
BOUNDARIES: No panels, file tree, LSP, git, or Pi.
ACCEPTANCE: A scripted narrow-terminal trace opens a fixture, edits, saves, exits, and replay/test verifies the saved bytes.
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
16d2a023a3(Add scripted terminal thin client).Verification:
Regular tests: scripted narrow-terminal trace opens a fixture, moves, inserts UTF-8 text, renders within width, saves bytes, quits, and replays the saved bytes through the headless replay harness; backspace deletes a whole UTF-8 codepoint; resize changes render width without changing buffer bytes.
Adversarial tests: malformed/tiny resize is rejected, invalid UTF-8 insertion is rejected while preserving previous bytes, and quit prevents further edits.
Boundary: this is a scripted terminal thin client and render/edit/save trace path only; no panels, mobile leader rail, raw terminal mode, git, LSP, or Pi bridge were added.