Commit graph

5 commits

Author SHA1 Message Date
a6d906bcbb fix(vector): explicit rollback, table identifier guard, query scope fix 2026-05-04 15:55:05 -07:00
0489f1111c feat(vector): add LocalSQLiteVecStore backed by sqlite-vec
Implements the VectorStore ABC using sqlite-vec virtual tables.
Two-table design (vec0 virtual + companion meta) supports upsert,
top-k ANN query with optional metadata post-filter, delete by ID,
and bulk delete_where. Also renames VectorMatch.id → entry_id to
avoid shadowing the Python builtin, updating base.py and all tests.

Installed: sqlite-vec 0.1.9
Tests: 16 passed (7 base + 9 integration)
2026-05-04 15:41:39 -07:00
e6c69f25ae fix(vector): rename VectorMatch.entry_id to id per downstream contract
VectorMatch.entry_id renamed to VectorMatch.id to match the API contract
expected by downstream consumers (pagepiper T7). The dataclass remains frozen
to prevent field reassignment; metadata is kept as plain dict for JSON
deserialization compatibility.

- Renamed VectorMatch.entry_id field to id
- Updated all test references to use .id accessor
- Simplified metadata to plain dict (removed MappingProxyType wrapping)
- All 7 tests passing
2026-05-04 14:19:14 -07:00
9492942623 fix(vector): make VectorMatch.metadata immutable; rename id to entry_id 2026-05-04 11:46:24 -07:00
fe51914902 feat(vector): add VectorStore ABC and VectorMatch dataclass 2026-05-04 11:42:03 -07:00