Comparisons

Pairs engineers genuinely confuse — goal and implementation, MVP and bad prototype, prototype and spike, reversible and irreversible. Neither column wins; what decides is the problem. Each record leads with the confusion, because the confusion is what it costs.

Source of truth vs snapshot

What people get wrong about this pair

Snapshots are treated as duplicated data and "normalised away", so the order references the product, the price changes, and every historical order changes with it. The opposite confusion copies everything, and two authorities for "is this order paid" disagree. The question that sorts it, per field, is "do I want this as it was then, or as it is now?" — and the honest complication is that a snapshot is a fact about the past that must still be stored somewhere authoritative, so the order line is the source of truth for the price *the customer paid* even though the product is the source of truth for the price *today*.

Source of truth — the one place that is authoritative for a fact now: the product's current price, the payment record
Use it when

For anything that must be consistent everywhere at once — stock, whether an order is paid, the current catalog.

Snapshot — a copy of the fact as it was at a moment, kept because that moment matters: the price on the order line
Use it when

For anything that must not change when the source does — the price the customer agreed to, the address they shipped to, the terms they accepted.

AspectSource of truth — the one place that is authoritative for a fact now: the product's current price, the payment recordSnapshot — a copy of the fact as it was at a moment, kept because that moment matters: the price on the order line
Answers"What is it now?""What was it then?"
CountExactly one per factOne per moment that matters
Changes when the source changesIt is the sourceNever
ExampleProduct.price, Payment.statusOrderItem.price, Order.shippingAddress
MistakeTwo authorities that disagreeA reference where a copy was needed
Question per field"Who is authoritative?""Then or now?"