Projections Are Contracts, Not Storage
Projections Are Contracts, Not Storage
A projection is not a database table. A projection is a promise.
It promises that, given the same truth, the same view will exist.
I. The Misuse of Projections
Most systems treat projections as:
denormalized tables
cached views
optimized storage
This misunderstanding turns projections into fragile state.
Storage persists data. A contract defines meaning.
II. Projections Encode Interpretation
A projection answers:
how the system wants to be seen
what questions are allowed
which dimensions matter
It is an interpretation of truth, not truth itself.
Changing a projection changes meaning.
That requires governance.
III. Contracts Are Versioned
A contract must be:
explicit
versioned
stable over time
If a projection silently changes:
reports change
KPIs shift
legal meaning drifts
Unversioned projections are ungoverned law.
IV. Projections Must Be Rebuildable
A lawful projection:
can be dropped at any time
can be rebuilt from events
yields identical results
If rebuilding changes outcomes, the contract was violated.
V. Storage Cannot Promise Meaning
Tables store rows. They promise nothing.
A projection promises:
“This is what this data means.”
Meaning is a commitment, not a byproduct.
VI. Audit Depends on Projection Contracts
Auditors do not ask:
“what rows exist?”
They ask:
“what did this report mean at that time?”
Only versioned projections can answer that.
VII. Breaking Contracts Breaks Trust
When projections change without declaration:
users lose trust
compliance fails
history becomes ambiguous
Silent projection changes are silent law changes.
VIII. Final Conclusion
Projections are contracts, not storage.
A lawful system:
treats projections as versioned contracts
rebuilds them from immutable events
never mutates them silently
Anything else treats meaning as an implementation detail.
SHA-256: 117d52bf1dade2523be3c4b4493e1a25c1094f23f4e3ec73c22487571d44d7f9