product

One database.
Everything your data does.

Four products and six query modules on a single hash-keyed substrate. A write commits to every shape at once — rows, vectors, full-text, graph — so nothing you build on top can drift.

the property that ties them together

One write. Every module sees it.

Insert a row that carries an embedding, a full-text field and a typed relation, and all the updates land together. A query on another connection can never see a state where the row exists but the vector index hasn't caught up, the posting is missing, or the reverse edge isn't there yet.

A multi-engine stack can't guarantee this without a saga, a reconciler, and a worker that detects skew. On a single-engine design the drift is structurally impossible.

one write, every shape
> INSERT INTO products (name, description, embedding, supplier_id) …

committed — one atomic write

row        products row stored
vector     embedding indexed
full-text  description postings written
graph      supplier edge + reverse edge

all shapes or none — no window where one shape is ahead
go deeper

The full architecture, with every module drawn out.