NS11 slice: Add document and half-page motions #77

Closed
opened 2026-06-21 18:43:59 +00:00 by tmk241 · 1 comment
Owner

OBJECTIVE: Add SSH-client-aware Normal-mode navigation for document start/end and half-page movement (gg, G, and Ctrl-u/Ctrl-d or keymap-consistent aliases) so iPhone SSH and attached-keyboard users can move through files without repeated j/k.

AUTHORITY: Parent #76 NS11; KEYMAP.md current grammar; REQUIREMENTS.md input rows; user request for gg, G, and Ctrl-u/Ctrl-d-style motions.

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: #76 by parent checklist fallback plus explicit parent reference in this body.

SCOPE: input normalization if needed; Normal-mode motion handling; session cursor movement; KEYMAP.md/requirements if behavior changes durable contract; terminal E2E.

BOUNDARIES: Do not redesign all motion grammar, add runtime keymap config, or remove existing mobile fallback motions. Do not require Ctrl-only paths without a documented fallback.

ACCEPTANCE: gg moves to document start; G moves to document end/last line boundary; half-page up/down exists via Ctrl-u/Ctrl-d when terminal input supports it and/or a documented mobile fallback alias; motions preserve useful cursor-column semantics where applicable; viewport follows the cursor after large moves; status/help docs expose the bindings.

REGRESSION CLASS: long-file navigation gets trapped in repeated line motions; viewport stays stale after cursor jumps; Ctrl/Esc assumptions become hidden untested dependencies.

EVIDENCE ARTIFACTS: terminal E2E transcript/keystroke receipt showing gg, G, and half-page movement on a multi-screen file.

REQUIREMENT IMPACT: requires authority update or protection for input/navigation rows.

VERIFICATION: zig build test; zig build terminal-e2e; redgate lint /opt/repositories/mim/REQUIREMENTS.md && redgate health /opt/repositories/mim/REQUIREMENTS.md.

BLOCKERS: none.

OBJECTIVE: Add SSH-client-aware Normal-mode navigation for document start/end and half-page movement (`gg`, `G`, and Ctrl-u/Ctrl-d or keymap-consistent aliases) so iPhone SSH and attached-keyboard users can move through files without repeated `j/k`. AUTHORITY: Parent #76 NS11; KEYMAP.md current grammar; REQUIREMENTS.md input rows; user request for `gg`, `G`, and Ctrl-u/Ctrl-d-style motions. 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: #76 by parent checklist fallback plus explicit parent reference in this body. SCOPE: input normalization if needed; Normal-mode motion handling; session cursor movement; KEYMAP.md/requirements if behavior changes durable contract; terminal E2E. BOUNDARIES: Do not redesign all motion grammar, add runtime keymap config, or remove existing mobile fallback motions. Do not require Ctrl-only paths without a documented fallback. ACCEPTANCE: `gg` moves to document start; `G` moves to document end/last line boundary; half-page up/down exists via Ctrl-u/Ctrl-d when terminal input supports it and/or a documented mobile fallback alias; motions preserve useful cursor-column semantics where applicable; viewport follows the cursor after large moves; status/help docs expose the bindings. REGRESSION CLASS: long-file navigation gets trapped in repeated line motions; viewport stays stale after cursor jumps; Ctrl/Esc assumptions become hidden untested dependencies. EVIDENCE ARTIFACTS: terminal E2E transcript/keystroke receipt showing `gg`, `G`, and half-page movement on a multi-screen file. REQUIREMENT IMPACT: requires authority update or protection for input/navigation rows. VERIFICATION: `zig build test`; `zig build terminal-e2e`; `redgate lint /opt/repositories/mim/REQUIREMENTS.md && redgate health /opt/repositories/mim/REQUIREMENTS.md`. BLOCKERS: none.
tmk241 added the sliceready-for-agent labels 2026-06-21 18:43:59 +00:00
Author
Owner

Closing receipt for #77.

Implemented in local commit c98c530 (Add document and half-page motions):

  • Normal-mode gg moves to document start.
  • Normal-mode G moves to the bottom/last line.
  • Ctrl-d / Ctrl-u half-page movement is recognized for Ctrl-capable SSH clients.
  • g d / g u provide documented mobile fallback aliases.
  • Vertical viewport rendering now follows the cursor line when it moves out of view, complementing the existing horizontal scroll behavior.
  • KEYMAP.md and REQUIREMENTS.md updated for the durable behavior.

Verification on the committed slice:

  • zig build
  • zig build test
  • zig build terminal-e2e (new document-half-page-motions scenario plus existing matrix)
  • zig build run -- --help
  • zig build --prefix /tmp/mim-install verify-install-code
  • redgate list /opt/repositories/mim/REQUIREMENTS.md && redgate lint /opt/repositories/mim/REQUIREMENTS.md && redgate health /opt/repositories/mim/REQUIREMENTS.md

Evidence anchors:

  • session test: document start/end protocol motions
  • TUI render test: vertical viewport follows cursor line
  • terminal E2E: G, gg, Ctrl-d, and g u fallback save edits at distinct lines in a tall file
Closing receipt for #77. Implemented in local commit `c98c530` (`Add document and half-page motions`): - Normal-mode `gg` moves to document start. - Normal-mode `G` moves to the bottom/last line. - Ctrl-d / Ctrl-u half-page movement is recognized for Ctrl-capable SSH clients. - `g d` / `g u` provide documented mobile fallback aliases. - Vertical viewport rendering now follows the cursor line when it moves out of view, complementing the existing horizontal scroll behavior. - KEYMAP.md and REQUIREMENTS.md updated for the durable behavior. Verification on the committed slice: - `zig build` ✅ - `zig build test` ✅ - `zig build terminal-e2e` ✅ (new `document-half-page-motions` scenario plus existing matrix) - `zig build run -- --help` ✅ - `zig build --prefix /tmp/mim-install verify-install-code` ✅ - `redgate list /opt/repositories/mim/REQUIREMENTS.md && redgate lint /opt/repositories/mim/REQUIREMENTS.md && redgate health /opt/repositories/mim/REQUIREMENTS.md` ✅ Evidence anchors: - session test: document start/end protocol motions - TUI render test: vertical viewport follows cursor line - terminal E2E: `G`, `gg`, Ctrl-d, and `g u` fallback save edits at distinct lines in a tall file
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tmk241/mim#77