docs: enrich TODO.md with Phase 0 hardening tasks

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>
This commit is contained in:
Snider 2026-02-20 00:28:43 +00:00
parent 2c4afaef7a
commit b6da16c717

15
TODO.md
View file

@ -1,11 +1,22 @@
# TODO.md -- go-help
# TODO.md — go-help
Dispatched from core/go orchestration. Pick up tasks in order.
---
## Phase 0: Hardening & Test Coverage
- [ ] **Expand parser tests**`parser_test.go` exists 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.go` exists. 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 `BenchmarkSearch` with 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
- [ ] Improve scoring weights currently title +10, section +5, partial +0.5
## Phase 2: core.help Integration