Data and events
Schema ownership, transactional publication, Kafka delivery, projections, and evidence boundaries.
Schema ownership
Every business module owns one PostgreSQL schema and its migrations. No module reads or writes another module's tables. Cross-module consistency comes from published APIs and integration events.
Publication path
The versioned envelope carries event ID, correlation ID, causation ID, producer, aggregate identity, occurrence time, and actor attribution.
Consumer contract
Consumers must tolerate redelivery, preserve correlation, distinguish fact time from processing time, and expose projection freshness where users depend on an asynchronous view.
Kafka is distribution, not authoritative evidence. Durable evidence remains in the owning business records and referenced evidence objects.
Migrations
Before the first station deployment, development migrations may be corrected in place. Once a migration becomes a deployment contract, history is append-only.