NS2: Mobile keyboard and command grammar #2

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

OUTCOME: Common editing and coding actions are comfortable from iPhone SSH with QWERTZ/thumb input, and keyboard layouts are source-patched data backed by traces.

WHY NOW: PRODUCT.md rejects desktop Vim compatibility as the default; mobile input is the product mechanism, not polish.

AUTHORITY: PRODUCT.md; req: input/001-005; req: governance/001

SLICES:

  • #13 NS2 slice: Normalize terminal input and capture layout traces
  • #14 NS2 slice: Add the first iOS QWERTZ layout profile
  • #15 NS2 slice: Implement the Space leader command rail
  • #16 NS2 slice: Implement the coding symbol rail
  • #17 NS2 slice: Prove mobile ergonomic acceptance tasks

MEMBERSHIP MECHANISM: Gitea fallback via this parent checklist plus explicit parent link in each child issue body.

AGENT AUTHORITY DEFAULTS:

  • Delivery authority: local-commit
  • Tracker authority: child issues may be commented and closed when their acceptance passes; this parent may be commented as children complete.
  • Handoff state: committed clean, tracker commented/closed for completed child slices.

BLOCKERS: none

PROOF: A trace suite demonstrates common edits, navigation, save/quit, search entry, and punctuation insertion without required Esc/Ctrl/Alt/function-key chords on iOS QWERTZ.

TEST STANDARD: Each child slice must carry its test weight: regular tests prove the intended payoff works, and adversarial tests cover realistic failure, boundary, or regression cases. Prefer protocol/headless/replay/fixture tests over brittle UI snapshots unless rendering behavior is the claim. See req: testing/001 through req: testing/004.

NON-GOALS: No full Vim/ex compatibility, no runtime keymap config, no custom mobile keyboard app, no guessed Android profiles without traces.

GOAL: Implement this Northstar by completing its linked child slices without leaving the product/refusal boundary in PRODUCT.md. Close this parent only when every child is closed and the PROOF above is demonstrated.

OUTCOME: Common editing and coding actions are comfortable from iPhone SSH with QWERTZ/thumb input, and keyboard layouts are source-patched data backed by traces. WHY NOW: PRODUCT.md rejects desktop Vim compatibility as the default; mobile input is the product mechanism, not polish. AUTHORITY: PRODUCT.md; req: input/001-005; req: governance/001 SLICES: - [x] #13 NS2 slice: Normalize terminal input and capture layout traces - [x] #14 NS2 slice: Add the first iOS QWERTZ layout profile - [x] #15 NS2 slice: Implement the Space leader command rail - [x] #16 NS2 slice: Implement the coding symbol rail - [x] #17 NS2 slice: Prove mobile ergonomic acceptance tasks MEMBERSHIP MECHANISM: Gitea fallback via this parent checklist plus explicit parent link in each child issue body. AGENT AUTHORITY DEFAULTS: - Delivery authority: local-commit - Tracker authority: child issues may be commented and closed when their acceptance passes; this parent may be commented as children complete. - Handoff state: committed clean, tracker commented/closed for completed child slices. BLOCKERS: none PROOF: A trace suite demonstrates common edits, navigation, save/quit, search entry, and punctuation insertion without required Esc/Ctrl/Alt/function-key chords on iOS QWERTZ. TEST STANDARD: Each child slice must carry its test weight: regular tests prove the intended payoff works, and adversarial tests cover realistic failure, boundary, or regression cases. Prefer protocol/headless/replay/fixture tests over brittle UI snapshots unless rendering behavior is the claim. See req: testing/001 through req: testing/004. NON-GOALS: No full Vim/ex compatibility, no runtime keymap config, no custom mobile keyboard app, no guessed Android profiles without traces. GOAL: Implement this Northstar by completing its linked child slices without leaving the product/refusal boundary in PRODUCT.md. Close this parent only when every child is closed and the PROOF above is demonstrated.
tmk241 added this to the v1 milestone 2026-06-20 23:28:10 +00:00
tmk241 added the northstargoal labels 2026-06-20 23:28:10 +00:00
Author
Owner

NS2 complete.

Children closed:

  • #13 Normalize terminal input and capture layout traces
  • #14 Add the first iOS QWERTZ layout profile
  • #15 Implement the Space leader command rail
  • #16 Implement the coding symbol rail
  • #17 Prove mobile ergonomic acceptance tasks

Proof/evidence:

  • zig build test: pass
  • zig build: pass
  • zig build run -- --help: pass
  • redgate lint / redgate health: pass
  • Mobile keyboard path now includes terminal input normalization, trace capture/replay, source-patched iOS QWERTZ layout facts, visible Space leader command rail, symbol rail for hard-to-reach coding punctuation, and acceptance tests that reject desktop-keyboard regressions.

Boundary held: no runtime keymap config, Android profile, custom mobile keyboard, Vim/ex compatibility layer, broad command catalog, or subjective scoring framework added.

NS2 complete. Children closed: - #13 Normalize terminal input and capture layout traces - #14 Add the first iOS QWERTZ layout profile - #15 Implement the Space leader command rail - #16 Implement the coding symbol rail - #17 Prove mobile ergonomic acceptance tasks Proof/evidence: - `zig build test`: pass - `zig build`: pass - `zig build run -- --help`: pass - `redgate lint` / `redgate health`: pass - Mobile keyboard path now includes terminal input normalization, trace capture/replay, source-patched iOS QWERTZ layout facts, visible Space leader command rail, symbol rail for hard-to-reach coding punctuation, and acceptance tests that reject desktop-keyboard regressions. Boundary held: no runtime keymap config, Android profile, custom mobile keyboard, Vim/ex compatibility layer, broad command catalog, or subjective scoring framework added.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tmk241/mim#2