Event Naming Standard¶
Executive Summary¶
Event Naming Standard defines business-readable naming rules for Algosure events. Event names must describe facts that already happened and must be written in past tense.
Why This Exists¶
Consistent event names make cross-domain coordination, analytics, notifications, AIOS orchestration, audit review, and integration contracts easier to understand and govern.
Owner¶
The owner is the Chief Product Officer and Enterprise Architect.
Business Value¶
Clear naming prevents events from becoming hidden commands, technical messages, or ambiguous state changes.
Naming Formula¶
Use this logical formula:
<BusinessSubject><BusinessOutcomePastTense>
Examples:
| Good Event Name | Why It Is Valid |
|---|---|
| OrganizationOnboarded | A business fact happened. |
| ComplianceEvidenceUploaded | Evidence was uploaded. |
| OpportunityMatched | An opportunity was matched. |
| BidApprovalRequested | An approval request was created. |
| ContractAwarded | A contract award happened. |
| NotificationDeliveryFailed | A delivery attempt failed. |
| PaymentStatusChanged | A payment status changed. |
| AIRecommendationProduced | An AI recommendation was produced. |
Naming Rules¶
| Rule | Requirement |
|---|---|
| Past tense only | Events describe facts that happened, not requests or commands. |
| Business language first | Use Domain language, not technical implementation language. |
| Source-owned subject | The subject should belong to the publishing Domain. |
| Avoid generic names | Names like Updated, Changed, or Processed are insufficient without business context. |
| Avoid commands | Names like SendNotification, CreateBid, or RunCheck are commands, not events. |
| Avoid transport terms | Names should not include broker, queue, HTTP, Kafka, webhook, or job language. |
Event Name Categories¶
| Event Type | Naming Pattern | Example |
|---|---|---|
| Domain event | Domain-owned subject plus past-tense outcome | SupplierTrustStateChanged |
| Application event | Use-case subject plus past-tense outcome | BidSubmissionReviewCompleted |
| Integration event | External subject plus observed or published fact | SarsComplianceStatusReceived |
| AIOS event | AI task or reasoning subject plus past-tense outcome | AIReasoningCompleted |
| Notification event | Notification subject plus delivery lifecycle fact | NotificationScheduled |
| Analytics event | Metric or insight subject plus past-tense outcome | MetricSnapshotCreated |
Non-Implementation Boundary¶
This document does not define event class names, package names, enum values, serialization names, or transport topic names.