NS2 slice: Implement the coding symbol rail #16
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 editor-native insertion paths for frequent coding punctuation and paired symbols.
AUTHORITY: Parent #2
NS2: Mobile keyboard and command grammar; PRODUCT.md; REQUIREMENTS.md (PRODUCT.md; req: input/001-005; req: governance/001).AGENT AUTHORITY:
PARENT: #2 via explicit issue link and parent checklist.
SCOPE: The smallest source/docs/tests needed to make this behavior real and verified.
BOUNDARIES: No arbitrary snippets engine.
ACCEPTANCE: Trace tests insert braces, brackets, parens, slash, pipe, quotes, backtick, underscore, and chosen pairs with correct cursor placement.
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
f793ecd726(Add coding symbol rail).Verification:
Regular tests: symbol rail maps mobile-friendly letters to common coding punctuation; protocol commands insert slash/pipe/underscore and paired delimiters; pair insertion places the cursor between delimiters; TUI traces open the symbol rail and insert braces, brackets, parens, quotes, slash, pipe, and underscore.
Adversarial tests: unknown symbol keys do not dispatch or mutate the buffer; unknown protocol pair names are rejected; invalid UTF-8 pair insertion preserves existing bytes; symbol rail cancellation does not dispatch.
Boundary: source-patched symbol table plus leader/TUI/protocol insertion path only. No snippets engine, repeat-last-symbol behavior, runtime config, or broad command catalog added.