"Some numbers you compute. Some numbers you're just told. Cash is one you're told — so believe it, don't recompute it."
The distinction that keeps the model honest
In Keep, an owner's stored cash balance is ground truth. It is a real, authoritative value that someone entered, and Keep treats it as the truth of the matter. It is not silently reconstructed from "seed amount minus total cost of positions." That reconstruction is tempting — the numbers usually line up — but the moment you compute cash instead of storing it, you've made cash a derived value that depends on every position row being complete and correct. One missing cost, one incomplete historical row, and your computed cash lies.
Ground truth vs derived, and why it matters
Every value in a system is one of two kinds. Ground truth is a fact someone asserted — it's authoritative by declaration. Derived is computed from other values — it's authoritative only if its inputs are complete. Cash is ground truth: it's held directly, and it wins. Family total is derived: it's computed from owners (previous track). The skill is knowing which is which, and never accidentally demoting a ground-truth value into a derived one because the formula 'usually works.'
The marked fallback — the one exception, made loud
There's exactly one time seed-minus-cost is allowed: an incomplete historical row where the stored cash was never captured. In that single case, Keep may fall back to the computed estimate — but it is clearly marked as a compatibility fallback, never presented as if it were the real stored value. The fallback is visible, not silent. You always know whether you're looking at cash that was told or cash that was guessed from an old row.