NS2 slice: Normalize terminal input and capture layout traces #13

Closed
opened 2026-06-20 23:28:14 +00:00 by tmk241 · 1 comment
Owner

OBJECTIVE: Create the input event model and a trace capture path that records what mobile SSH terminals actually send.

AUTHORITY: Parent #2 NS2: Mobile keyboard and command grammar; PRODUCT.md; REQUIREMENTS.md (PRODUCT.md; req: input/001-005; req: governance/001).

AGENT AUTHORITY:

  • Delivery authority: local-commit
  • Tracker authority: this issue may be commented and closed when acceptance passes.
  • Handoff state: committed clean, tracker commented/closed.

PARENT: #2 via explicit issue link and parent checklist.

SCOPE: The smallest source/docs/tests needed to make this behavior real and verified.

BOUNDARIES: Do not bind product commands yet beyond proving normalization.

ACCEPTANCE: Tests map raw terminal bytes/events to stable editor input events; trace files can be replayed.

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.

OBJECTIVE: Create the input event model and a trace capture path that records what mobile SSH terminals actually send. AUTHORITY: Parent #2 `NS2: Mobile keyboard and command grammar`; PRODUCT.md; REQUIREMENTS.md (PRODUCT.md; req: input/001-005; req: governance/001). AGENT AUTHORITY: - Delivery authority: local-commit - Tracker authority: this issue may be commented and closed when acceptance passes. - Handoff state: committed clean, tracker commented/closed. PARENT: #2 via explicit issue link and parent checklist. SCOPE: The smallest source/docs/tests needed to make this behavior real and verified. BOUNDARIES: Do not bind product commands yet beyond proving normalization. ACCEPTANCE: Tests map raw terminal bytes/events to stable editor input events; trace files can be replayed. 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.
tmk241 added this to the v1 milestone 2026-06-20 23:28:14 +00:00
tmk241 added the sliceready-for-agentgoal labels 2026-06-20 23:28:14 +00:00
Author
Owner

Implemented in commit 9d760b41c1 (Normalize terminal input traces).

Verification:

  • zig fmt src/main.zig src/input.zig: pass
  • zig build test: pass
  • zig build: pass
  • zig build run -- --help: pass
  • redgate lint / health: pass

Regular tests: raw terminal bytes normalize to stable input events for printable UTF-8 text, space/enter/backspace, and arrow escape sequences; captured traces replay successfully; trace text preserves raw z/y bytes without layout guesses.
Adversarial tests: invalid UTF-8/control/unknown escape sequences normalize as unknown, malformed trace lines identify the missing separator, invalid hex is reported, and first event mismatch names the divergent step.

Boundary: this adds terminal input event normalization and trace capture/replay only; no command bindings, iOS QWERTZ layout profile, leader rail, symbol rail, or mobile task grammar were added.

Implemented in commit 9d760b41c130 (Normalize terminal input traces). Verification: - zig fmt src/main.zig src/input.zig: pass - zig build test: pass - zig build: pass - zig build run -- --help: pass - redgate lint / health: pass Regular tests: raw terminal bytes normalize to stable input events for printable UTF-8 text, space/enter/backspace, and arrow escape sequences; captured traces replay successfully; trace text preserves raw z/y bytes without layout guesses. Adversarial tests: invalid UTF-8/control/unknown escape sequences normalize as unknown, malformed trace lines identify the missing separator, invalid hex is reported, and first event mismatch names the divergent step. Boundary: this adds terminal input event normalization and trace capture/replay only; no command bindings, iOS QWERTZ layout profile, leader rail, symbol rail, or mobile task grammar were added.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tmk241/mim#13