mirror of
https://github.com/outbackdingo/optimclaw.git
synced 2026-08-26 23:50:17 +00:00
Instead of wrapping all ~80 Database trait methods in a 664-line decorator (lancedb_wrapper.rs), introduce a 4-method VectorStore trait that any vector backend can implement. Workspace composes FTS from the database with vector search from the external store via RRF fusion. - Add src/workspace/vector_store.rs with VectorStore trait - Rewrite lancedb_store.rs to implement VectorStore (not wrap Database) - Delete src/db/lancedb_wrapper.rs (664 lines removed) - Remove get_chunk_by_id from Database trait and all backends - Workspace gains with_vector_store() builder for optional composition - Fix LanceDB tests: bypass_vector_index() for brute-force search - Fix integration tests: use temp file DB (libSQL :memory: is per-connection) - Merge duplicate mod tests in config.rs Net: -724 lines. Adding a new vector backend requires 4 methods, not 80. Co-Authored-By: Claude Opus 4.6 <[email protected]>