Kelly Mears

Ground Truth

The measurement that arbitrates, as opposed to the artifact that merely reports.

Method2 min read207 words10 out · 29 in
also calledSource of truth

Ground truth is the observation that settles a question, as distinct from the many artifacts that describe it. Most debugging confusion comes from treating a report as a measurement.

Examples of the distinction are everywhere. A build tool's summary table is a report; the actual script tags in the served HTML are ground truth. A hosting platform's "mergeable" flag is a report; performing the merge locally is ground truth. A green exit code is a report; the count of tests that actually ran is ground truth — a filter that matched nothing exits zero. A comment claiming an invariant is a report; the type system is ground truth.

The habit worth building is to ask, for any claim you are about to act on, what would I have to look at to be wrong about this? — then look at that. It is usually cheaper than the reasoning it replaces.

Ground truth also has a staleness dimension. A measurement is only about the thing you measured, at the moment you measured it. Verifying against a server compiled before your change, or a cached artifact from a prior state, produces a real number about the wrong world. Restart, rebuild, refetch before every claim you intend to stand behind.

See also8

Hand-picked in the note itself — the neighbours worth reading next.

Related2

Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.

Linked from29

Notes elsewhere in the wiki that reach for this one.