Glossary
Terms and definitions
A
- Adapter
- Implementation of a port. Connects the application layer to external systems (databases, HTTP, etc.). Lives in the
adapters/directory. - Actor
- The user or system performing an action. Identified by
actor_idin envelopes and activity logs. - Allow
- A hook response that permits the operation to continue. The default if a hook returns nothing.
C
- Catalogue
- The component registry. Lists all components, their schemas, ports, and events. Browsable at
/v1/catalogue. - Clock
- A platform primitive for time abstraction. Use
clock.now()instead ofdatetime.now(). - Component
- An isolated domain module (e.g., Todos, Budget). Has its own domain, application, and adapters layers. Cannot import other components.
- Correlation ID
- A UUID that traces a request through the system. Carried in envelopes and logs.
D
- Domain
- The innermost layer. Contains entities, value objects, and domain events. Has no framework dependencies.
- Domain Event
- An immutable record of something that happened. Published via EventBus after state changes. See Events.
E
- Entity
- A mutable domain object with identity. Has an
idandowner_id. Examples: Task, Note, BudgetPlan. - Envelope
- A wrapper that adds metadata (id, timestamp, actor_id, correlation_id) to commands, queries, or events.
- Event
- See Domain Event.
- EventBus
- A platform primitive for publish-subscribe messaging. Handles async event delivery.
- Eventual Consistency
- The guarantee that event subscribers will eventually process events, but not necessarily immediately.
F
- Facet
- A typed extension point for preferences and settings. Attached to a Person or Group by
FacetKey. See Facets. - Fact
- An immutable record of something that happened. Events and audit logs are facts. See Record Types.
- FixedClock
- A test double that returns a fixed time. Essential for testing time-dependent logic.
G
- Group
- A collection of people who share data. Part of the Identity kernel. Referenced by
owner_id.
H
- Hook
- A synchronous interception point. Allows other components to veto, patch, or observe operations. See Hooks.
- HookDispatcher
- A platform primitive that manages hook registration and invocation.
I
- Identity Kernel
- The central module containing Person and Group entities. All components reference it via
owner_id. - Idempotency
- The property that processing something multiple times has the same effect as processing it once. Required for event subscribers.
- IdempotencyStore
- A platform primitive for tracking processed events to prevent duplicates.
M
- Module
- A class that registers a component with the runtime. Provides routers, capabilities, hooks, and event subscribers.
O
- owner_id
- A UUID on every entity pointing to either a Person or Group. The fundamental scoping mechanism for multi-tenancy.
P
- Patch
- A hook response that modifies input data before processing. Multiple patches are merged.
- Person
- An individual user. Part of the Identity kernel. Has authentication credentials and owns private data.
- Policy
- A platform primitive for authorization. Checks if an actor can perform an action on a resource.
- Port
- An interface (Protocol) that the application layer depends on. Implemented by adapters. Example:
TaskRepository. - Primitive
- A platform-level building block (Clock, EventBus, Policy, etc.). Components inject them as dependencies.
- Projection
- A local copy of data from another component, built by subscribing to events. Trades storage for independence.
Q
- QuerySpec
- A platform primitive for standardized filtering, sorting, and pagination across repositories.
R
- Repository
- A port for persisting and retrieving entities. Implemented by adapters (InMemory, Postgres, etc.).
U
- Use Case
- A class in the application layer that orchestrates a business operation. Has injected dependencies (ports, primitives).
V
- Veto
- A hook response that blocks an operation. Any veto stops the operation and provides a reason.