Skip to content

Glossary

Ramose uses a small vocabulary consistently. Start here when a familiar database word seems to mean something slightly different.

TermMeaningIn code
activated databaseA database whose first observed query or mutation has started synchronization for this client session.useQuery(query) or db.mutate.*
authorized rootThe database assigned to a verified principal.client.open()
catalogThe installed runtime form of one named schema, including its policy, operations, traits, and documentation.supplied by a named schema
catalog tokenOpaque public token representing the visible deployed capability version for conditional MCP requests.catalogToken, ifCatalog
client referenceStable typed identity for an entity created offline before the server returns its authoritative id.ClientRef<Entity>
complete replicaThe entire current authorized value of the configured database for one principal, installed atomically in the browser.local Db
databaseOne independently stored, queried, authorized, synchronized, and written set of facts.client.open()
entityA concrete record kind with fields, traits, and owned operations.Ramose.Entity("task", …)
entity handleA client query result that keeps plain .data beside .local state and owned .mutate methods.task.data, task.local, task.mutate
factOne typed statement associating an entity, field, and value over time.presented as entity rows in the public API
fieldA stable named value definition with type, cardinality, indexing, ownership, and documentation.Task.title
filtered databaseAn immutable database value with facts hidden according to the current principal and policy before queries run.internal read boundary
historyA temporal view exposing when visible facts were added or removed.history, query temporal selector
invocation idCaller-created stable id for one operation intent, used to recover retries and lost acknowledgements.invocationId
local statePending and synchronization metadata held beside entity data, never stored as application facts.entity.local.pending
operationA named, typed, authorized product change owned by an entity or trait.operations: (Operation) => ({ … })
optimistic projectionA pure requested local change displayed while an authoritative operation is queued. It does not grant or commit.optimistic: ({ tx }) => …
principalThe verified identity making a request, normally from a signed JWT subject.policy subject, operation op.principal
queryA typed serializable description of roots, filters, projections, relations, order, cardinality, and paging.db.query.from(Task)
QueryDocumentThe versioned plain-data form of the public query language, used by MCP and non-TypeScript clients.{ version: 1, from, where, … }
receiptDurable public record of one queued, committed, or rejected operation invocation.receipt.queued, receipt.committed
referenceA typed relation from one entity to another entity or trait in the same database.Ramose.ref(User)
schemaOne named code definition containing entities and one applied policy.const App = Ramose.Schema("app", { task: Task }); App.applyPolicy(…)
targeted operationAn operation invoked on one visible compatible entity.entity.mutate.rename(…)
targetless operationAn operation invoked on a database rather than an existing entity, commonly for creation.db.mutate.createTask(…)
traitA reusable transitive composition of fields and operations that can also be queried or referenced polymorphically.Ramose.Trait("commentable", …)
versionThe database’s ordered committed state marker. Public replication and paging use opaque tokens instead of exposing internal sequencing.asOf(version) for explicit temporal reads

The documentation says entity, field, graph, operation, set, remove, and delete. Wire and engine terminology may differ, but application APIs use these words.