TeamB

id: task-273.03 title: '273.03: Build core Fuse search service' status: Done assignee:

  • '@codex' created_date: '2025-09-19 18:33' updated_date: '2025-09-20 14:52' labels:
  • core
  • search dependencies: [] parent_task_id: task-273

Description

Implement a reusable search module that consumes the shared content store, builds a Fuse.js index for tasks, documents, and decisions, and exposes a query API that returns a typed SearchResult with optional status and priority filters.

Acceptance Criteria

  • [x] #1 Search service indexes tasks/docs/decisions with rawContent + titles using Fuse.js and returns ordered SearchResult objects.
  • [x] #2 Index automatically refreshes when the content store emits updates without full reloads.
  • [x] #3 Filtering by status/priority leverages the same service (no separate list filtering logic).
  • [x] #4 bun run check ., bunx tsc --noEmit, and targeted bun test suites cover search behavior.

Implementation Notes

  • Added Fuse-backed SearchService wired to the ContentStore and unified SearchResult filtering.

  • Extended shared types and Core accessor so CLI/TUI/server can reuse the service.

  • Tests: bunx tsc --noEmit; bun run check .; bun test search-service.test.ts.

  • Reset initialization state when ContentStore fails so retries are possible.

Brodocs MVP