Skip to content

feat(sqlite)!: replace Vec1 with bundled sqlite-vec - #1306

Merged
Teingi merged 3 commits into
masterfrom
codex/replace-vec1-sqlite-vec
Aug 24, 2026
Merged

feat(sqlite)!: replace Vec1 with bundled sqlite-vec#1306
Teingi merged 3 commits into
masterfrom
codex/replace-vec1-sqlite-vec

Conversation

@PsiACE

@PsiACE PsiACE commented Aug 21, 2026

Copy link
Copy Markdown
Member

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_extension has been removed without backward compatibility.

How was this change tested?

  • make check
  • make test: 629 passed, 9 skipped
  • make docs-test

AI usage statement

OpenAI Codex was used to implement and test this change.

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.
@PsiACE
PsiACE marked this pull request as ready for review August 21, 2026 09:08
@PsiACE

PsiACE commented Aug 21, 2026

Copy link
Copy Markdown
Member Author

This is a breaking change because sqlite-vec is not compatible with Vec1

@Teingi Teingi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The bundled sqlite-vec migration is clear overall, but the FTS-only startup regression and stale RFC contracts should be addressed before merging.

Comment thread src/powercontext/builtin/persistence/sqlite/profile.py Outdated
Comment thread docs/en/development/memory-layer.md
Keep FTS-only SQLite profiles independent of native extension loading and document that Vec1 sections in the affected RFCs are historical.
@PsiACE
PsiACE requested a review from Teingi August 23, 2026 18:03

@Teingi Teingi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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.

@Teingi Teingi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Teingi
Teingi merged commit 9a55f4f into master Aug 24, 2026
12 checks passed
@PsiACE
PsiACE deleted the codex/replace-vec1-sqlite-vec branch August 24, 2026 06:09
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.

2 participants