← MODELING TRUTH

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

ReaderUse this article to…
Skipped GenesisGet the minimum vocabulary before Domain Events Are Not CRUD and later Modeling Truth essays
Read Genesis onceRefresh Part I and the modeling-relevant Part II articles (atoms, capture, Real) without rereading the full series
Deep in GenesisSkip to the reading map when you only need a link target

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:

CaptureDesign
QuestionWhat actually happened, at the grain it happened?What do downstream consumers need in one payload?
ResultSparse facts; new needs → new eventsRich bundles; new needs → schema churn

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:

KindRole in the log
Decisions (commits)An authority bound at a moment — the regress stops here
Observations (measures)Instrument transduction — real, but not unmediated reality
Conjectures (assertions logged honestly)The act of inferring is recordable; the content stays defeasible until further commit
DerivationsDeterministic recomputation — never tier-one substrate

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:

ModeHow it entersExamples
commitAuthority bindsSignature, verdict, OrderPlaced, tombstone on delete
assertPut forward without bindingDraft logged, hypothesis, LLM output saved honestly
measureInstrument transductionSensor reading, X-ray file, API payload at boundary
formaliseSymbolic inscriptionDefinition, proof step (adoption of definition = commit)

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:

  1. Domain Events Are Not CRUD — naming discipline: real-world verbs in event type, not storage operations
  2. 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):

ArticleWhy follow up
09 — The Moment of CommitmentWhere authority actually binds
12 — One Authority per InvariantWho may emit which event
13 — Every Statement Has a TierFull epistemic ladder

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.