docs(recurring): record the coherence rule, and catch up §10-11 to what shipped
- AGENTS.md §1: reworded the "no horizon" invariant now that a parameter literally named horizonMonths exists. Nothing is stored — ExpectedBand's horizon only widens how far one read-only walk looks before the result is thrown away — but the old wording read as a contradiction to the next reader. The no-materialisation rule itself is unchanged. - DECISIONS.md: added the "archived mirrors endedFrom" entry that was missing, including the previously-undocumented corollary that a future-dated cancellation dims the row immediately even though the bill keeps projecting until endedFrom. - docs/specs/2026-09-03-recurring-costs-design.md §10-11: updated to describe the shipped UI — the "Coming up" group, the Ends column, the two coherence checks that gate a coming-up row (X1, X3), and the tests that now cover all of it.
This commit is contained in:
1 parent
e3a1fb366b
commit
92e6b763f2
3 files changed
+82
-12
No files matched your search
@@ -105,6 +105,17 @@ record.
|
||||
happened. Under projection-only this would not have held, and a dated series
|
||||
would have been required.
|
||||
→ [`specs/2026-09-03-recurring-costs-design.md`](specs/2026-09-03-recurring-costs-design.md)
|
||||
- **`archived` MIRRORS "`endedFrom` is set"**, maintained in one place
|
||||
(`setRecurringCostEndedFrom`) rather than two independent fields a caller
|
||||
could desynchronise. `endedFrom` stops the projection; `archived` only dims
|
||||
the row, the same way an archived post stays listed rather than
|
||||
disappearing. Neither touches a past occurrence. One consequence is visible
|
||||
and undocumented until now: dating a cancellation in the future sets
|
||||
`archived` immediately, so a bill still live for months still renders
|
||||
dimmed with a "restart" button while it keeps projecting rows right up to
|
||||
`endedFrom`. Defensible under the rule as chosen, not a bug.
|
||||
→ [`specs/2026-09-03-recurring-costs-design.md`](specs/2026-09-03-recurring-costs-design.md),
|
||||
`src/store/actions.ts`
|
||||
|
||||
## Design system
|
||||
|
||||
|
||||
Reference in new issue
Block a user