Vectors
Appears when a type stores embeddings — an array of at least eight numbers, so a
coordinate pair is not mistaken for one — or has a {table}_vec_{type} sidecar. Like
Geometry, it reads from the document body, which is where the library
serialises the mapped ReadOnlyMemory<float> property, so it works on every backend rather than only the
vector-capable ones.
Inspect
Section titled “Inspect”
Dimensions, how many documents carry a vector and how many do not, the average L2 norm and how many vectors are unit length (i.e. normalised before storage), plus counts of all-zero and NaN/infinity vectors.
An all-zero vector is the signature of an embedding that was never generated: it is perfectly valid, so nothing errors — it just ranks meaninglessly. Mixed dimensions at one path are called out too, because only one of them can match the sidecar column.
Sidecar health
Section titled “Sidecar health”The sidecar is the index an ANN query actually searches, and nothing in the database keeps it in step with the documents. The tab compares the two and reports:
- documents whose embedding never reached the index — so a search can never return them,
- rows pointing at documents that no longer exist.
Rebuild sidecar from documents repairs both from the bodies, which are the source of truth.
Nearest neighbours
Section titled “Nearest neighbours”
Search from an existing document’s own embedding — no embedding model needed in the tool — or paste a raw vector, under cosine, Euclidean or dot-product distance.
Distances are computed in the tool over a bounded scan rather than pushed down to the engine, which makes the ranking exact rather than approximate, identical on every backend, and unaffected by a sidecar that is out of date — which is exactly when you are looking. The scan bound is stated on the page. Documents whose dimension differs from the probe are skipped rather than ranked.
From here re-runs the search from any result, which is the fastest way to walk a neighbourhood.
Writes
Section titled “Writes”Clearing a document’s vector removes it from the body and the sidecar together. Editing 1536 floats by hand is not a workflow the tab offers.
Provider caveat
Section titled “Provider caveat”On SQLite the sidecar is a vec0 virtual table and every statement against it needs the sqlite-vec
extension, which the library loads and this tool — which does not ship the native binaries — does not.
Drift detection still works there (it reads the companion map table), but the tab says plainly that it
cannot write the sidecar rather than pretending otherwise. Nearest-neighbour search is unaffected, because
it never touches the sidecar.


