Skip to main content
Status: Proposed (ratified by Daniel 2026-08-15) · Refs: DEC-C1, DEC-C2

Decision

Every command handler executes ONE transaction: aggregate state change + outbox event(s) + core.audit_log row (typed actor, entity, action, FULL old→new diff, correlation_id). Reads are projections with documented rebuild procedures. Event sourcing as system of record is REJECTED as a general pattern: replay/upcasting complexity is hostile to agent-generated code consistency, and the domains where ES pays (points ledger, metering, audit) are already append-only by design.

Consequences

  • Complete change control with one uniform pattern agents can replicate. + Audit log doubles as Ley 21.719 “operational evidence”. − No time-travel reconstruction outside append-only domains (accepted).