Add Phase 0 before existing phases: expand parser/search tests, add benchmarks, vet clean. Specific test cases listed. Co-Authored-By: Virgil <virgil@lethean.io>
1.8 KiB
1.8 KiB
TODO.md — go-help
Dispatched from core/go orchestration. Pick up tasks in order.
Phase 0: Hardening & Test Coverage
- Expand parser tests —
parser_test.goexists but coverage unknown. Add tests for: empty input, frontmatter-only (no body), malformed YAML frontmatter, deeply nested headings (####, #####), Unicode content, very long documents (10K+ lines). - Expand search tests —
search_test.goexists. Add tests for: empty query, no results, case sensitivity, multi-word queries, special characters in query, overlapping matches, scoring boundary cases (exact title match vs partial body match). - Benchmark search — Add
BenchmarkSearchwith catalog of 100+ topics. Measure search latency and allocation count. Baseline for Phase 1 improvements. go vet ./...clean — Verify no vet warnings. Fix any found.
Phase 1: Search Improvements
- Add fuzzy matching (Levenshtein distance or similar)
- Add stemming support for English search terms
- Add phrase search (quoted multi-word queries)
- Improve scoring weights — currently title +10, section +5, partial +0.5
Phase 2: core.help Integration
- Feed CLI docs into help catalog (parse
coresubcommand help text) - Serve catalog via HTTP for the
core.helpdomain - Add Markdown rendering for topic bodies in HTTP responses
- Generate static site from catalog for BunnyCDN deployment
Phase 3: AI-Assisted Search
- Embed help topics into go-rag collections for semantic search
- Add vector similarity fallback when keyword search returns no results
- Support natural language queries ("how do I push all repos?")
Workflow
- Virgil in core/go writes tasks here after research
- This repo's dedicated session picks up tasks in phase order
- Mark
[x]when done, note commit hash