Glossary
Ramose uses a small vocabulary consistently. Start here when a familiar database word seems to mean something slightly different.
| Term | Meaning | In code |
|---|---|---|
| activated database | A database whose first observed query or mutation has started synchronization for this client session. | useQuery(query) or db.mutate.* |
| authorized root | The database assigned to a verified principal. | client.open() |
| catalog | The installed runtime form of one named schema, including its policy, operations, traits, and documentation. | supplied by a named schema |
| catalog token | Opaque public token representing the visible deployed capability version for conditional MCP requests. | catalogToken, ifCatalog |
| client reference | Stable typed identity for an entity created offline before the server returns its authoritative id. | ClientRef<Entity> |
| complete replica | The entire current authorized value of the configured database for one principal, installed atomically in the browser. | local Db |
| database | One independently stored, queried, authorized, synchronized, and written set of facts. | client.open() |
| entity | A concrete record kind with fields, traits, and owned operations. | Ramose.Entity("task", …) |
| entity handle | A client query result that keeps plain .data beside .local state and owned .mutate methods. | task.data, task.local, task.mutate |
| fact | One typed statement associating an entity, field, and value over time. | presented as entity rows in the public API |
| field | A stable named value definition with type, cardinality, indexing, ownership, and documentation. | Task.title |
| filtered database | An immutable database value with facts hidden according to the current principal and policy before queries run. | internal read boundary |
| history | A temporal view exposing when visible facts were added or removed. | history, query temporal selector |
| invocation id | Caller-created stable id for one operation intent, used to recover retries and lost acknowledgements. | invocationId |
| local state | Pending and synchronization metadata held beside entity data, never stored as application facts. | entity.local.pending |
| operation | A named, typed, authorized product change owned by an entity or trait. | operations: (Operation) => ({ … }) |
| optimistic projection | A pure requested local change displayed while an authoritative operation is queued. It does not grant or commit. | optimistic: ({ tx }) => … |
| principal | The verified identity making a request, normally from a signed JWT subject. | policy subject, operation op.principal |
| query | A typed serializable description of roots, filters, projections, relations, order, cardinality, and paging. | db.query.from(Task) |
| QueryDocument | The versioned plain-data form of the public query language, used by MCP and non-TypeScript clients. | { version: 1, from, where, … } |
| receipt | Durable public record of one queued, committed, or rejected operation invocation. | receipt.queued, receipt.committed |
| reference | A typed relation from one entity to another entity or trait in the same database. | Ramose.ref(User) |
| schema | One named code definition containing entities and one applied policy. | const App = Ramose.Schema("app", { task: Task }); App.applyPolicy(…) |
| targeted operation | An operation invoked on one visible compatible entity. | entity.mutate.rename(…) |
| targetless operation | An operation invoked on a database rather than an existing entity, commonly for creation. | db.mutate.createTask(…) |
| trait | A reusable transitive composition of fields and operations that can also be queried or referenced polymorphically. | Ramose.Trait("commentable", …) |
| version | The database’s ordered committed state marker. Public replication and paging use opaque tokens instead of exposing internal sequencing. | asOf(version) for explicit temporal reads |
Public vocabulary choices
Section titled “Public vocabulary choices”The documentation says entity, field, graph, operation, set, remove, and delete. Wire and engine terminology may differ, but application APIs use these words.