| Space |
The unit of sharing and encryption: a set of objects with one ACL and one read key, replicated between the members' devices through sync nodes that never hold the key. — Spaces |
| Tech space |
The per-account private space that holds the account's own bookkeeping — the space list, profile, settings, devices, identities directory — synced only between your devices. — Space list |
| Object |
A CRDT tree inside a space: one row of property values in the space's objects storage collection plus any per-object datasets (blocks, messages, runtime records). Exactly one type, any number of collections. — Objects |
| Dataset |
A named storage collection of records that lives on an object — chat_messages, editor_blocks, or a runtime-defined one — read through /query and written through /modify or its module's routes. — Runtime datasets |
| Record |
One document in a dataset, addressed by id, mutated by per-path $set / $unset ops and tombstoned rather than erased. — Writing data |
| Change / ChangeId |
One signed, content-addressed entry in an object's DAG; every write returns its changeId, which doubles as a version handle on every peer. — Version history |
| Version |
A point in an object's causal history named by a ChangeId — "everything this change could see", not a wall-clock moment. — Version history |
| Head-sync |
The periodic diff round in which a device exchanges tree heads with the responsible nodes and pulls what it lacks; POST …/sync forces one now. — Sync status |
| CRDT |
The merge discipline that lets every device write offline and converge on the same state without a server deciding — per-path last-writer-wins on the DAG order. — CRDT and consistency |
| Derived object / space |
An object or space whose id is a pure function of a seed (and the space or account keys), so every device computes it offline and none can fork it — at the price of permanence. — Derived objects, Derived spaces |
| Bundle |
One installed thing in a space — a chat, an app's setup — registered under a permanent versioned id with a root object and deterministic children, so devices converge on one install. — Bundles |
| Usecase |
A set of well-known system: bundles from the server's embedded catalog, plus the usecases it requires; one setup call installs or adopts them all and returns the type, collection and property ids to write with. — Bundles |
| Type |
What an object is — one per object, in any.type: property definitions, parts and a layout; resolved by xKey, stored by id. — Types and properties |
| Collection |
What an object is filed under — any number per object, in any.collections: property definitions only, no parts and no layout. miniapp and bin are built in. — Collections |
| Storage collection |
The place records live in — objects, editor_blocks, chat_messages, <typeId>_<key> — and the dataset value on reads and writes. Not something an object is filed under. — Data model |
| Owner |
The type or collection whose namespace a property value lives in: record[ownerId][propId]. — Types and properties |
| Part |
A display unit of a type — a body, a transcript, a task list — owning the storage collections a module serves. Types only; collections have none. — Modules |
| Module |
The server code that serves a part's dataset: records (the generic schema handler), editor or chat; a shared dataset is the module's canonical storage collection, a namespaced one is <typeId>_<key>. — Modules |
| xKey |
A type's or collection's stable programmatic handle (book, wiki), unique per space across both surfaces, unaffected by display-name renames; a property's xKey is its handle within its owner. — Types and properties |
| propId |
The content-addressed id of a property definition; values are stored and validated at record[ownerId][propId], never by xKey. — Types and properties |
| Wiki tree |
The catalog usecase that gives a space its tree: a hidden wiki collection whose parentId / pos / folder columns place every object filed under it; pos is a client-allocated lexid. — Objects |
| Scope (field) |
Where a value lives and who sees it: synced (every member), account (your devices), local (this device), derived (computed by a handler). — System fields |
| Local store |
Device-local storage collections at /v1/local with the same query and aggregation power but no sync, no CRDT and no subscribe. — HTTP API |
| CRDT version |
The account-wide data-model version mark; a server older than the mark refuses to open the account, or turns read-only when another device raises it. — Versioning and re-index |