Persistence
Persistence answers: what is made durable and authoritative?
In the cohesive system model, persistence chooses which view of the system is recorded as the durable basis for future execution, reconstitution, coordination, or audit.
Durable forms may include:
- Current-state records as observations.
- Event-sourced histories of committed endogenous events.
- Transaction logs, write-ahead logs, checkpoints, and recovery records.
- Outbox records.
- Inbox and deduplication records.
- Actor state providers.
- Workflow histories.
- Durable execution histories, checkpoints, timers, signals, and pending work.
- Process state.
- Projection state as derived observations.
- CRDT replica state, deltas, operations, and causal metadata.
Persistence is not a single technology choice. It is a semantic decision about what the system treats as recoverable truth inside a boundary.
For CRDTs, persistence must preserve enough replica state, operation history, delta history, and causal metadata for merge and convergence semantics to remain valid after restart, compaction, replication, or recovery.
In CQRS, persistence usually names the authoritative write-side material from which read-side observations are reconstituted or projected.
In database transaction systems, the transaction log may be the authoritative recovery material even when the application primarily sees tables, rows, and indexes. ARIES-style write-ahead logging is an example where redo and undo records make committed state recoverable after crash, partial rollback, and restart.
Persistence and reconstitution form a useful duality: persistence makes selected material durable, while reconstitution turns durable material back into usable observations. The duality is not perfect because persistence choices determine what can later be reconstituted.
Related concepts: reconstitution, recovery, ACID, write-ahead logging, durable execution, duality and symmetry, commit boundaries, effects, state, observation, event, event sourcing, outbox, transactional inbox, CRDTs, CQRS, storage systems, workflow engines, durable execution engines, actor systems.