NS5 slice: Add rename and code actions #32

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

OBJECTIVE: Implement LSP rename and code actions with explicit preview/confirmation suitable for mobile use.

AUTHORITY: Parent #5 NS5: Syntax and LSP coding intelligence; PRODUCT.md; REQUIREMENTS.md (PRODUCT.md; req: coding/002-003; req: ui/002; req: governance/002).

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: #5 via explicit issue link and parent checklist.

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

BOUNDARIES: No autonomous broad edits without explicit user command.

ACCEPTANCE: Fake LSP edit/action applies expected buffer changes and failure cases remain recoverable.

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: Implement LSP rename and code actions with explicit preview/confirmation suitable for mobile use. AUTHORITY: Parent #5 `NS5: Syntax and LSP coding intelligence`; PRODUCT.md; REQUIREMENTS.md (PRODUCT.md; req: coding/002-003; req: ui/002; req: governance/002). 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: #5 via explicit issue link and parent checklist. SCOPE: The smallest source/docs/tests needed to make this behavior real and verified. BOUNDARIES: No autonomous broad edits without explicit user command. ACCEPTANCE: Fake LSP edit/action applies expected buffer changes and failure cases remain recoverable. 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:19 +00:00
tmk241 added the sliceready-for-agentgoal labels 2026-06-20 23:28:19 +00:00
Author
Owner

Implemented in commit 970d1bb4ec (Add explicit LSP edit previews).

Verification:

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

Regular tests: rename workspace edits and code-action edits parse into explicit lsp:edit:* preview rows with range, URI preview, label, and encoded replacement text. TUI lsp_rename and lsp_code_actions render shared preview panels, and only lsp_edit_apply_selected mutates the current buffer at the selected range.
Adversarial tests: invalid edit kinds/payloads, command-only actions, non-edit rows, impossible ranges, and failed preview/apply commands are rejected without corrupting the current buffer.

Boundary: explicit current-buffer edit previews and selected-row application only. No autonomous edit application, cross-file mutation, command execution code actions, refactor orchestration, undo stack UI, or background LSP manager added.

Implemented in commit 970d1bb4ece6 (Add explicit LSP edit previews). Verification: - zig fmt src/lsp.zig src/tui.zig: pass - zig build test: pass - zig build: pass - zig build run -- --help: pass - redgate lint / health: pass Regular tests: rename workspace edits and code-action edits parse into explicit `lsp:edit:*` preview rows with range, URI preview, label, and encoded replacement text. TUI `lsp_rename` and `lsp_code_actions` render shared preview panels, and only `lsp_edit_apply_selected` mutates the current buffer at the selected range. Adversarial tests: invalid edit kinds/payloads, command-only actions, non-edit rows, impossible ranges, and failed preview/apply commands are rejected without corrupting the current buffer. Boundary: explicit current-buffer edit previews and selected-row application only. No autonomous edit application, cross-file mutation, command execution code actions, refactor orchestration, undo stack UI, or background LSP manager added.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tmk241/mim#32