NS4 slice: Add project text search with jump-to-result #24

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

OBJECTIVE: Implement project text search through the shared panel model with file/line/preview results.

AUTHORITY: Parent #4 NS4: Repository workbench; PRODUCT.md; REQUIREMENTS.md (PRODUCT.md; req: repo/001-002; req: ui/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: #4 via explicit issue link and parent checklist.

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

BOUNDARIES: No external search service.

ACCEPTANCE: Fixture tests search known text, filter results, select a match, and jump to the correct buffer location.

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 project text search through the shared panel model with file/line/preview results. AUTHORITY: Parent #4 `NS4: Repository workbench`; PRODUCT.md; REQUIREMENTS.md (PRODUCT.md; req: repo/001-002; req: ui/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: #4 via explicit issue link and parent checklist. SCOPE: The smallest source/docs/tests needed to make this behavior real and verified. BOUNDARIES: No external search service. ACCEPTANCE: Fixture tests search known text, filter results, select a match, and jump to the correct buffer location. 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:17 +00:00
tmk241 added the sliceready-for-agentgoal labels 2026-06-20 23:28:17 +00:00
Author
Owner

Implemented in commit fc3b6a7d08 (Add project text search panel).

Verification:

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

Regular tests: repo search returns file/line/column/preview rows, include-ignored search is explicit, search rows resolve back to file + byte offset, TUI search panel lists matches, filters results, and opens the selected match at its offset.
Adversarial tests: invalid queries and malformed rows are rejected, missing files fail clearly, and failed search/open-selected operations do not corrupt the current buffer.

Boundary: project text search through the existing repo index and list panel only. No external search service, git status/diff, build/job panel, terminal panel, or OS directory walking added.

Implemented in commit fc3b6a7d085d (Add project text search panel). Verification: - zig fmt src/session.zig src/repo.zig src/tui.zig: pass - zig build test: pass - zig build: pass - zig build run -- --help: pass - redgate lint / health: pass Regular tests: repo search returns file/line/column/preview rows, include-ignored search is explicit, search rows resolve back to file + byte offset, TUI search panel lists matches, filters results, and opens the selected match at its offset. Adversarial tests: invalid queries and malformed rows are rejected, missing files fail clearly, and failed search/open-selected operations do not corrupt the current buffer. Boundary: project text search through the existing repo index and list panel only. No external search service, git status/diff, build/job panel, terminal panel, or OS directory walking added.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tmk241/mim#24