Glossary
Short definitions of terms used across these docs.
- Activity: A human-readable audit entry emitted with
emit_activity(for exampletodo.create). It is not the same thing as a Casbin activity. - Aggregate: The command session for one dispatch: context, loaded root, store handle, and buffered effects. Your type wraps
AggregateCore. - AggregateRoot: A locator (resource, identifier, scope) for the row an object command opens. It is not the session.
- API zone: A deployment label. With
api_zoneset, only routes whose allowed zones intersect it are registered. - Casbin activity: The name a route is authorized under:
{cmdkey}.executefor commands,{resource}.queryfor queries. - cmdkey: A command's local, dash-separated key, such as
create-todo. - Collection command: A command that targets a resource rather than a row. Its HTTP suffix is
:post. - DataStore: The store that command and query engines share. It used to be split into
StateStore(writes) andDataStore(reads); the state helpers are now default methods onDataStore. - Domain: A bounded context: command, query, and optional service engines under one namespace, generated by
domain!. - DomainRuntime: The shared infrastructure every domain spawns against: database, audit log, buses, invokers, process managers.
- EngineContext: The context passed with every command and query: namespace, actor, profile, tenant, roles, claims, correlation id, idempotency key.
- Event: The record a successful
#[domain_action]writes toevent_log, keyed by the action (such astodo.created). It is audit and integration data, not a replay source. - FrontendQuery: The query request a client sends (filter, order, pagination, projection) before it is lowered onto a
DataQuery. - Integration message: A message published to the bus through the outbox (such as
riverbase.todo.created), consumed by other contexts. - Object command: A command that targets one row by identifier. Its HTTP suffix is
:exec. - Outbox: Rows written in the command transaction and delivered to the bus after commit, at least once.
- Pool sizes:
command_pool_sizesets the number of concurrent command actors.query_pool_sizesets the semaphore permits for concurrent reads.actor_pool_sizeis an alias for either. - Process manager: A durable, multi-step workflow tracked in
ProcessManagerStore, used for cross-transaction and cross-domain coordination. - Profile: The identity a user acts as, usually a membership in an organization. It decides the tenant.
- Resource vs source: A resource is the public name registered in a
ResourceRegistry(todo). A source is the physical table (todo_items). They are often, but not always, the same. - Scope: An optional URL segment that narrows a command or query (
…:exec/{scope}/todo/{id}). - scope_policy: A query resource's server-side row restriction, in physical columns. It is ANDed in front of the client's filter.
- Service engine: An optional domain slot for capabilities outside CQRS HTTP, dispatched by item key.
- Tenant: The UUID in a row's
_tenantcolumn, stamped at creation by the stamp policy and filtered by the access policy.