Before You Model
What Genesis established — synthesis with links, for readers new or returning
Modeling Truth is a collection of standalone essays on naming and structuring what happened — vocabulary, grain, and boundaries before any architecture is chosen.
Those essays assume a body of ideas developed first in Genesis — the original series on how organisations lose track of truth and early thinking on recording it more honestly. You do not have to read all of Genesis to use this collection. You do need the ideas below, whether you absorb them here or in the originals.
This article is a reading guide and memory aid: compressed synthesis, with links when you want the full argument, examples, and diagrams.
Who this is for
Nothing here replaces Genesis. When a paragraph feels too thin, follow the link.
The problem: systems that fight truth
Organisations fail in two ways: truth lost by accident (overwritten, never captured, stale, uncorrectable) and truth refused on purpose (bent, buried, epistemic rank overruled). Most “complexity” and “data quality” symptoms trace to one wound: a statement had an epistemic status, and the system failed to track it honestly.
→ Full catalogue of nine failures: Where Everything Breaks
The axiom: truth doesn’t change
Truth does not change. What changes is what we know, what we record, and what we derive from the record.
Systems that treat present state as more real than history — mutable rows, silent overwrites, logs kept for compliance but not for truth — fight reality. Immutable history is not a storage preference; it follows from what a fact is.
→ Argument and consequences: Truth Doesn’t Change
Capture, don’t design
A system never contains “the truth.” It contains only the truth it captured.
Every event definition faces one choice:
Schema evolution — registries, compatibility modes, migration projects — is real pain, but it is usually not inherent to event-driven systems. It is a symptom of designed events: snapshots of today’s consumer requirements, not irreducible facts.
When a new need appears, the disciplined response is almost always observe a new fact and append a new event, not mutate an existing type. Bundling many decisions into one OrderPlaced is lossy compression optimised for known consumers; atomic events are strictly more informative and rebuild any bundle.
Projections, read models, and documents (PDFs, contracts) are derived and may use CRUD at the storage boundary. The append-only log of captured facts is primary.
→ Full treatment — designed vs captured events, bundling, when correction is warranted: Capturing Truth — and the Schema-Evolution Myth
Atoms: grain, act, and content
Not everything in a process is the same kind of thing. For modeling, distinguish:
Every atom has two coordinates:
- The act — that this happened (who, when) — ground truth in the log
- The content — what the act claims — strength and tier handled above L0
Model at the finest grain commitments actually occurred. OrderSubmitted is not a summary of cart edits; those edits are separate events if they matter.
→ Radiologist walkthrough, L0 preview, commitment boundary: Atoms of Truth
The Real vs captured evidence
Tier zero — the Real — is what records are about: the patient’s thermal state, whether the payment occurred, the mathematical structure a proof targets. Tier zero is never a record.
Tier one — captured evidence — is what entered the permanent log: substrate, fallible every time, never identical with the Real. Reserve ground truth for tier zero; call the log captured evidence.
Physics mirrors the shape: measurements and committed acts stay; theories above them are overturned without un-happening the record.
→ Rᶜ / Rⁿ, tier ladder: The Real · Captured Evidence
Four capture modes (tier-one honesty)
Domain language (onboarded, dispatched, retracted) says what the business models. Capture mode says how the entry became evidence:
Pair domain type with capture metadata when epistemic kind matters. CRUD verbs (created, updated, deleted) describe persistence, not domain acts — they belong at projection adapters, not as event names.
→ Taxonomy, stress test, schema: Four Capture Modes · capture ladder map
What Modeling Truth adds
Genesis establishes why the log must hold honest captures and what distinguishes acts, evidence, and claims.
Modeling Truth applies that to practice:
- Domain Events Are Not CRUD — naming discipline: real-world verbs in event
type, not storage operations - Further essays — grain, boundaries, workshop vocabulary (as the collection grows)
Read this intro once, then the essays in order — or jump to an essay and return here when a term feels undefined.
Reading map
Essential for modeling (read here or in Genesis):
Deeper Genesis (modeling-adjacent, not summarised here):
Reference layer: commitment boundary · L0 atomic committed · CRUD as domain language · bundled events
Next in this collection: Domain Events Are Not CRUD. Anchor series: Genesis.