Skip to main content

Glossary

Short definitions of terms used across these docs.

  • Activity: A human-readable audit entry emitted with emit_activity (for example todo.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_zone set, only routes whose allowed zones intersect it are registered.
  • Casbin activity: The name a route is authorized under: {cmdkey}.execute for commands, {resource}.query for 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) and DataStore (reads); the state helpers are now default methods on DataStore.
  • 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 to event_log, keyed by the action (such as todo.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_size sets the number of concurrent command actors. query_pool_size sets the semaphore permits for concurrent reads. actor_pool_size is 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 _tenant column, stamped at creation by the stamp policy and filtered by the access policy.