docs(shared): the cutover date is the gate, the flag refines it
ci / lint-test (push) Successful in 44s
ci / lint-test (push) Successful in 44s
This commit is contained in:
@@ -13,7 +13,15 @@ recorded under [What was rejected](#what-was-rejected).
|
|||||||
## The one rule
|
## The one rule
|
||||||
|
|
||||||
**Spend and owed are different questions asked of the same table, and the line
|
**Spend and owed are different questions asked of the same table, and the line
|
||||||
between them is `transaction_splits.settled`.**
|
between them is the cutover date, refined by `transaction_splits.settled`.**
|
||||||
|
|
||||||
|
`ACTIVE_OBLIGATION` is `ts.settled = false AND t.transaction_date >=
|
||||||
|
'2026-01-09'`. Nothing before the cutover can be owed, because carryover
|
||||||
|
transaction 2348 already carries the entire pre-cutover balance as one figure —
|
||||||
|
so a split on an older transaction describes only *how an expense was shared*.
|
||||||
|
That is what makes splitting history safe, and it is why the flag is a
|
||||||
|
refinement rather than the guard: any delete-and-recreate write path resets a
|
||||||
|
boolean, and one did.
|
||||||
|
|
||||||
| | Counts settled splits? | Why |
|
| | Counts settled splits? | Why |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|
|||||||
Reference in New Issue
Block a user