Skip to content

Register FOOTNOTE as a CloudVectorIndex driver (make footnote default)#2

Open
jlocala1 wants to merge 2 commits into
mieweb:mainfrom
jlocala1:feat/footnote-default
Open

Register FOOTNOTE as a CloudVectorIndex driver (make footnote default)#2
jlocala1 wants to merge 2 commits into
mieweb:mainfrom
jlocala1:feat/footnote-default

Conversation

@jlocala1

Copy link
Copy Markdown

What

Registers @mieweb/footnote as a local CloudVectorIndex driver, so it can be the
default vector store instead of cloud's own sqlite-vec adapter.

This is exactly the extension the registry documents:

"adding a new backend (sqlite-vec, artipod, redis, …) is a registerDriver() call, never a core edit."

Why

cloud's vectorize-sqlitevec adapter already mirrors the FOOTNOTE index pattern (its own
comment says so). footnote is the real thing — same Vectorize-compatible contract, plus
hybrid + FTS + literal search and validated negation/assertion-aware retrieval. This
consolidates onto it.

Changes

  • vendor/footnote — git submodule (mieweb/melvil-artipod-footnote @ main)
  • packages/cloud-local/package.jsonlink: dep on @mieweb/footnote
  • packages/cloud-local/src/registry.mjsregisterDriver('footnote', …) wrapping footnote's createLocalIndex

Additive + backward-compatible — existing sqlite-vec configs still work.

How to make it the default

Point a vector binding at it in mieweb.jsonc:

"VECTOR": { "driver": "footnote", "path": ".data/local/vec.sqlite", "dim": 768 }

jlocala1 and others added 2 commits July 13, 2026 12:30
Adds @mieweb/footnote as a local vector driver — exactly the extension the registry
docs describe ('adding a new backend … is a registerDriver() call'). footnote is the
richer Vectorize-compatible store (hybrid + FTS + assertion-aware retrieval) that
cloud's own sqlite-vec adapter already mirrors; this wires in the real one.

- vendor/footnote: git submodule (mieweb/melvil-artipod-footnote @ main)
- cloud-local: link: dep on @mieweb/footnote (kept out of the workspace so recursive
  scripts are unaffected)
- registry.mjs: registerDriver('footnote', …) wrapping footnote's shipped createLocalIndex

Self-contained — no footnote-side change needed. Verified: driver registers and
upsert/query work through cloud at runtime; tsc --noEmit clean. Additive +
backward-compatible (existing 'sqlite-vec' configs still work).

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
The conformance suite exercised the Vectorize contract only against
sqlite-vec; the footnote driver registered by the 'make footnote default'
change had no coverage. Add a matching case that resolves a
{ driver: 'footnote' } binding through createCloudEnv + settleEnv (the real
mieweb.jsonc path) and asserts upsert/query/$eq+$in filter/delete. Skips
cleanly when @mieweb/footnote isn't linked.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
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.

1 participant