Snider
62c5d65374
feat: modernise to Go 1.26 iterators and stdlib helpers
...
Security Scan / security (push) Successful in 14s
Test / test (push) Successful in 1m44s
Add Catalog.All(), Catalog.SearchResults(), AllSections(), Tokens()
iterators. Use slices.SortFunc, slices.Clone, maps.Values, built-in
min replacing min3, strings.SplitSeq for streaming, range-over-int
in levenshtein and benchmarks.
Co-Authored-By: Gemini <noreply@google.com>
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-23 05:32:21 +00:00
Snider
23cef8592a
test: complete Phase 0 hardening — 124 tests, 94% coverage, 8 benchmarks
...
Expand parser tests: empty input, frontmatter-only, malformed YAML,
deeply nested headings (H4-H6), Unicode (CJK, emoji, diacritics,
mixed scripts), very long documents (10K+ lines), edge cases.
Expand search tests: empty/invalid queries, no results, case sensitivity,
multi-word queries, special characters (@, dots, underscores), overlapping
matches, scoring boundaries (title vs body), tag matching, section title
boost, tokenize/highlight edge cases, catalog integration.
Add search benchmarks: single word, multi-word, no results, partial match,
500-topic catalog, 1000-topic catalog, Add indexing, tokenize. Uses
b.Loop() (Go 1.25+) and b.ReportAllocs().
Coverage: 92.1% → 94.0% | Tests: 39 → 124 | go vet: clean | race: clean
Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 04:43:48 +00:00