Glossary¶
Verified by tests
RouteTests, DispatchModeTests, LifecycleStageTests, IPerspectiveForTests — library CI run #37346231411 (2026-10-05)
Quick reference for Whizbang terminology. Terms link to their full documentation.
A¶
AOT (Ahead-of-Time Compilation)¶
Native AOT compilation that eliminates runtime reflection. Whizbang achieves zero-reflection via source generators. See Native AOT.
Apply Method¶
A pure function on a Perspective that transforms the current model state given an event. Must be synchronous, deterministic, and free of side effects.
ApplyResult¶
Return type for Perspectives with Actions that supports Delete/Purge in addition to normal updates.
Auto-Populate¶
Attributes that automatically set message properties from envelope context (timestamps, service info, identifiers). See Auto-Populate.
C¶
Cascade¶
Automatic routing of events returned by a Receptor to the outbox, event store, or local processing. See Dispatcher.
CascadeContext¶
Security and scope context that flows through message hops. See Cascade Context.
Command¶
A message representing intent or a request for action (e.g., CreateOrder). Implements ICommand. Routed point-to-point via shared inbox topic. See Commands and Events.
CorrelationId¶
A value object that links related messages across a distributed workflow. Propagated automatically through message hops.
D¶
Delivery Receipt¶
Acknowledgment returned by SendAsync containing MessageId, CorrelationId, Status, and metadata. See Delivery Receipts.
Dispatcher¶
The central message router providing three patterns: SendAsync (commands), LocalInvokeAsync (RPC), PublishAsync (events). See Dispatcher Guide.
DispatchModes¶
Flags enum controlling where messages route. Base flags: None, LocalDispatch, Outbox, EventStore. Combined values: Local (dispatch + persist), LocalNoPersist, Both (local + outbox), EventStoreOnly. See Dispatcher.
E¶
Envelope¶
Wrapper around a message payload containing hops, tracing context, scope deltas, and metadata. See Message Envelopes.
Event¶
A message representing a fact or something that happened (e.g., OrderCreated). Implements IEvent. Published via namespace-based topics. See Events.
Event Store¶
Append-only storage for events organized by stream. Supports polymorphic reads and sync verification. See Event Store.
Event Stream¶
A sequence of events grouped by StreamId, representing the history of an aggregate.
F¶
FireAt Attribute¶
Declarative attribute that controls when a Lifecycle Receptor executes in the message processing pipeline. See Lifecycle Receptors.
G¶
Global Perspective¶
A Perspective that aggregates events across multiple streams using a partition key. See Multi-Stream Perspectives.
H¶
Hop¶
A record of a message passing through a service. Envelopes accumulate hops for distributed tracing. See Message Context.
I¶
Inbox¶
Incoming message store for exactly-once deduplication. Messages received from transport are stored and deduplicated before processing. See Inbox Pattern.
L¶
Lens¶
Read-side query interface for querying Perspective data. Supports scoping, filtering, and multi-model queries. See Lenses Guide.
Lifecycle Coordinator¶
Singleton that manages stage transitions, guarantees exactly-once firing, and coordinates WhenAll completion across processing paths. See Lifecycle Coordinator.
Lifecycle Receptor¶
A Receptor decorated with [FireAt] that executes at a specific stage in the message processing pipeline. See Lifecycle Receptors.
Lifecycle Stage¶
One of 28 stages in the message processing pipeline. Stage names carry a Detached or Inline suffix (e.g., ImmediateDetached, PostPerspectiveInline, PostAllPerspectivesDetached, PostLifecycleInline) covering the Immediate, Distribute, Outbox, Inbox, Perspective, PostAllPerspectives, PostLifecycle, and Destruction phases. See Lifecycle Stages.
M¶
Message¶
Base marker interface (IMessage) for all message types. Subtypes: ICommand, IEvent, IQuery. See Messages.
MessageId¶
Value object uniquely identifying a message instance. Generated as UUIDv7 (time-ordered).
O¶
Outbox¶
Transactional outbox for reliable event publishing. Events are persisted atomically with business data, then published asynchronously. See Outbox Pattern.
P¶
Perspective¶
A pure-function event handler that maintains an eventually-consistent read model. The "Q" in CQRS. See Perspectives Guide.
Physical Field¶
A perspective model property extracted to a dedicated database column for native indexing. See Physical Fields.
PostLifecycle¶
Terminal lifecycle stage that fires exactly once per event after all processing paths complete. Managed by Lifecycle Coordinator.
R¶
Receptor¶
A stateless message handler that encapsulates business logic. Receives commands/queries and returns events/responses. See Receptors Guide.
Rebuild¶
Reconstructing a Perspective's read model from event history. Modes: Blue-Green, In-Place, Selected Streams. See Perspective Rebuild.
Route¶
Static factory class for controlling message dispatch: Route.Local(), Route.LocalNoPersist(), Route.Outbox(), Route.Both(), Route.None(), Route.EventStoreOnly().
S¶
Scope¶
Security and authorization context (tenant, user, roles) that propagates through message envelopes. See Scoping.
Source Generator¶
Roslyn-based compile-time code generator that enables zero-reflection, AOT-compatible type discovery. See Source Generators.
StreamId¶
Property marked with [StreamId] that identifies which event stream a message belongs to. Required on all events and perspective models. See Stream ID.
T¶
Tag¶
Declarative cross-cutting concern attached to messages via attributes. Tags fire at every lifecycle stage. See Message Tags.
Temporal Perspective¶
An append-only Perspective that creates a new row per event (INSERT not UPSERT). Used for activity feeds and audit logs. See Temporal Perspectives.
Transport¶
Message broker integration (RabbitMQ, Azure Service Bus, In-Memory). See Transports.
V¶
Vector Field¶
A perspective model property storing embeddings for similarity search via pgvector. See Vector Fields.
W¶
WhenAll¶
Pattern where PostLifecycle fires only after all processing paths complete. Used for Route.Both() events and multi-perspective coordination. See Lifecycle Coordinator.
Work Coordinator¶
Distributed batch processing system with lease-based coordination, partition distribution, and stream ordering. See Work Coordinator.