ADR-009 — Business Event Ontology¶
Status¶
Accepted
Context¶
Events are the primary integration currency in modern Unified Commerce architectures. Without a canonical event ontology, each system uses different naming conventions, payloads, and lifecycle semantics — making integration analysis, impact assessment, and event-driven documentation impossible across vendors.
Decision¶
UC-BoK adopts a canonical Business Event ontology defined in SPEC-009. A Business Event is a named, past-tense fact that something significant has happened in the retail domain.
Classification (four types):
| Type | Definition | Example |
|---|---|---|
| Domain Event | A state change within a bounded domain | OrderConfirmed, PaymentCaptured |
| Integration Event | A fact published across domain boundaries | InventoryReserved, FulfillmentDispatched |
| Command Event | A request for something to happen (imperative) | ReserveInventory, CapturePayment |
| Notification Event | An informational signal with no required response | CustomerNotified, LabelPrinted |
Naming rules (normative):
- Events use PascalCase.
- Events use past tense (something has happened, not will happen).
- Event names follow the pattern:
<Object><PastParticiple>(e.g.OrderCollected,BasketAbandoned). - Every event must declare its producer capability and its consumer capabilities.
- Events are vendor-neutral:
OrderConfirmedis the canonical name regardless of which platform produces it.
Consequences¶
catalogs/events.yamlis the canonical event register.- Knowledge Graph edges
producesandreferencesconnect Processes/Capabilities to Events. - Impact analysis ("what breaks if OrderConfirmed changes?") traverses event edges in the graph.
- Vendor integration maps must translate platform-specific event names to UC-BoK canonical events.