Can today’s record explain yesterday’s decision?
Keep the value a decision actually used so that later changes do not erase its explanation.
A customer asks why they received an overdue notice yesterday. Today their account says paid. Both facts can be true.
Give facts a time
Hickey distinguishes a fact from a later change. Overwriting the current status makes it hard to recover what the system knew when it sent the notice.
you can't update a fact is because you can't change the pastReplay 22:20–22:25 →
Versions can share structure
Keeping an old version need not mean copying the whole record. Persistent data structures share the parts that stayed the same; old and new readers each have a definite value.
the next version of the value shares a lot of structure with the prior versionReplay 40:03–40:20 →
The application still has to decide which versions to retain and record which version a decision used. Only then can supplying the old record and date reproduce the earlier answer.