Skip to content

feat: port khive-bm25 — Okapi BM25 with deterministic scoring#300

Merged
ohdearquant merged 3 commits into
mainfrom
feat/port-khive-bm25
May 22, 2026
Merged

feat: port khive-bm25 — Okapi BM25 with deterministic scoring#300
ohdearquant merged 3 commits into
mainfrom
feat/port-khive-bm25

Conversation

@ohdearquant
Copy link
Copy Markdown
Owner

Summary

  • Ports BM25 index from khive-internal
  • Deterministic i64 scoring via khive-score, WAND-accelerated top-k search
  • Configurable tokenizer with stopword filtering
  • ~5.3K LOC, tests pass

Split from #297 (staging). Leaf crate — only depends on existing khive-score + khive-types.

Test plan

  • cargo check -p khive-bm25 clean
  • cargo test -p khive-bm25 — all pass

🤖 Generated with Claude Code

Ports BM25 index from khive-internal. Deterministic i64 scoring via
khive-score, WAND-accelerated top-k search, configurable tokenizer
with stopword filtering.

~5.3K LOC, tests pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ohdearquant and others added 2 commits May 22, 2026 13:10
- Remove unused khive-types dep from Cargo.toml
- Remove unverified Lean4 claim from crate description
- Replace PROOF CORRESPONDENCE with Properties in doc comments
- Replace wrapping_add with checked_add for u32 ID safety
- Add config.validate() to with_tokenizer (matches new() behavior)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ohdearquant ohdearquant merged commit 314c1f0 into main May 22, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant