zeroclaw/src/channels
argenis de la rosa 0e7f501fd6 feat: full-stack search engine — FTS5, vector search, hybrid merge, embedding cache, chunker
The Full Stack (All Custom):
- Vector DB: embeddings stored as BLOB, cosine similarity in pure Rust
- Keyword Search: FTS5 virtual tables with BM25 scoring + auto-sync triggers
- Hybrid Merge: weighted fusion of vector + keyword results (configurable weights)
- Embeddings: provider abstraction (OpenAI, custom URL, noop fallback)
- Chunking: line-based markdown chunker with heading preservation
- Caching: embedding_cache table with LRU eviction
- Safe Reindex: rebuild FTS5 + re-embed missing vectors

New modules:
- src/memory/embeddings.rs — EmbeddingProvider trait + OpenAI + Noop + factory
- src/memory/vector.rs — cosine similarity, vec↔bytes, ScoredResult, hybrid_merge
- src/memory/chunker.rs — markdown-aware document splitting

Upgraded:
- src/memory/sqlite.rs — FTS5 schema, embedding column, hybrid recall, cache, reindex
- src/config/schema.rs — MemoryConfig expanded with embedding/search settings
- All callers updated to pass api_key for embedding provider

739 tests passing, 0 clippy warnings (Rust 1.93.1), cargo-deny clean
2026-02-14 00:00:23 -05:00
..
cli.rs feat: initial release — ZeroClaw v0.1.0 2026-02-13 12:19:14 -05:00
discord.rs style: cargo fmt — fix all formatting for CI 2026-02-13 16:03:50 -05:00
imessage.rs style: cargo fmt — fix all formatting for CI 2026-02-13 16:03:50 -05:00
matrix.rs style: cargo fmt — fix all formatting for CI 2026-02-13 16:03:50 -05:00
mod.rs feat: full-stack search engine — FTS5, vector search, hybrid merge, embedding cache, chunker 2026-02-14 00:00:23 -05:00
slack.rs style: cargo fmt — fix all formatting for CI 2026-02-13 16:03:50 -05:00
telegram.rs style: cargo fmt — fix all formatting for CI 2026-02-13 16:03:50 -05:00
traits.rs feat: initial release — ZeroClaw v0.1.0 2026-02-13 12:19:14 -05:00