feat(sqlite)!: replace Vec1 with bundled sqlite-vec - #1306
Conversation
Bundle sqlite-vec with the builtin extra and load it automatically for SQLite profiles. Remove the Vec1 extension path configuration and migrate vector search, tests, and user documentation to vec0. BREAKING CHANGE: SQLiteConfig no longer accepts vec1_extension; SQLite vector search now uses the bundled sqlite-vec package.
|
This is a breaking change because sqlite-vec is not compatible with Vec1 |
Teingi
left a comment
There was a problem hiding this comment.
The bundled sqlite-vec migration is clear overall, but the FTS-only startup regression and stale RFC contracts should be addressed before merging.
Keep FTS-only SQLite profiles independent of native extension loading and document that Vec1 sections in the affected RFCs are historical.
Teingi
left a comment
There was a problem hiding this comment.
[P1] Remove the obsolete Vec1 setting from .env.example
.env.example still tells users to export POWERCONTEXT_SERVER_DATABASE_VEC1_EXTENSION, but this PR removes vec1_extension and SQLiteConfig forbids extra fields. Following the documented copy-and-source flow now makes ServerSettings() fail with:
database.sqlite.vec1_extension: Extra inputs are not permitted
This prevents the server from starting. Please remove the stale variable and Vec1 comment, and add coverage that the example can be loaded by ServerSettings.
Merge master into the sqlite-vec migration, keep the removed Vec1 setting out of the resolved server tests, and validate the documented environment example through ServerSettings.
Rationale for this change
Replace the external Vec1 dependency with bundled sqlite-vec so SQLite vector search works without manual extension installation.
What changes are included in this PR?
SQLite now uses sqlite-vec for vector and hybrid search.
SQLiteConfig.vec1_extensionhas been removed without backward compatibility.How was this change tested?
make checkmake test: 629 passed, 9 skippedmake docs-testAI usage statement
OpenAI Codex was used to implement and test this change.