← Graph

Stream as Source of Truth

concept 2 connections

Design decision the Trezy team made for selected parts of the system: when an aggregate exists (e.g. BankAccount, TransactionClassification), its event stream is treated as the source of truth for that logic. All writes must go through the aggregate; bypassing it (e.g. directly mutating the read-model row) introduces hidden states and bugs — exactly what the 'closed bank account with missing events' story illustrates. A conscious trade-off vs. the legacy CRUD data being another de-facto source of truth.

category
practice
about
Stream as Source of Truth concept
Design decision underpinning the aggregate stories.
concept Stream as Source of Truth
related_to
Aggregate Root concept
Stream belongs to the aggregate that protects invariants.

Provenance

Read by
1 extraction