Institutional Event Catalog

Architecture Locked

← All Architecture documents

Institutional Event Catalog v1.0

Status: Architecture Locked · 2026-08-09 Audience: Members, partners, developers, AI systems

This is the institution’s shared vocabulary of Events (facts). It is not a notification product, email matrix, or database schema.


One question

What may be said, in stable language, about what happened in the institution?


Event ≠ State

State Event
Question Where is the entity now? What happened?
Example Identity status = Verified identity.verified
Example Business Record status = Completed business_record.completed

Catalog entries are Events only. States belong to domain entity models.


Single source of truth

The Institutional Event Catalog is the only authority for machine Event names (event_type).

Modules must not invent private synonyms for the same fact (e.g. “Business Approved” vs “BusinessAccepted”).

Governance

A published (accepted) event_type is never renamed retroactively. If meaning changes, introduce a new event_type. Deprecate the old one.


Independence

This catalog knows only Facts. It does not define email, push, SMS, or whether anyone is notified. Delivery decisions belong to Notification Infrastructure.


Mandatory fields

Field Meaning
Event Name Human label + stable event_type
Origin Module Which domain emits the fact
Context Primary institutional Context
Default Recipients Domain-intended parties (Identity, Role, Team, …) — not delivery channels

Catalog (seed)

Business Record

Event Name Origin Module Context Default Recipients
Business Record Created · business_record.created Business Relationships Business Record Record parties
Business Record Updated · business_record.updated Business Relationships Business Record Record parties
Business Record Accepted · business_record.accepted Business Relationships Business Record Record parties
Business Record Completed · business_record.completed Business Relationships Business Record Record parties
Counter-offer Received · business_record.counter_offer_received Business Relationships Business Record Counterparty parties

Identity

Event Name Origin Module Context Default Recipients
Identity Created · identity.created Identity Identity Identity owner
Identity Verified · identity.verified Identity Identity Identity owner · Organization Admin (if applicable)
Identity Suspended · identity.suspended Identity Identity Identity owner · relevant Admins
Follow Created · identity.follow_created Identity Identity Followed identity owner

Article

Event Name Origin Module Context Default Recipients
Article Published · article.published Content Article Author identity
Article Commented · article.commented Content Article Author identity · thread participants

Corporate Record Book

Event Name Origin Module Context Default Recipients
Corporate Record Draft Created · corporate_record.draft_created Corporate Record Book Corporate Record Company Admins · officers
Corporate Record Finalized · corporate_record.finalized Corporate Record Book Corporate Record Company Admins · officers

Marketplace

Event Name Origin Module Context Default Recipients
Listing Created · listing.created Marketplace Marketplace listing Listing owner identity
Listing Approved · listing.approved Marketplace Marketplace listing Listing owner identity
Listing Inquiry Received · listing.inquiry_received Marketplace Marketplace listing Listing owner identity

Related public architecture