docs(todo): what the anchored-model merge left unfinished
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
933027cb1b
commit
019517e6e9
1 file changed
+56
-4
+56
-4
@@ -148,7 +148,59 @@ slots stay put whether they were ever settled or not. The two anchorings differ
|
||||
here on purpose (AGENTS.md §1's schedule invariant), and unifying them would
|
||||
reintroduce the bug the anchored model exists to fix.
|
||||
|
||||
## 4. Visual redesign, sub-project 3 — Year, Summary, Post detail
|
||||
## 4. Anchored-model follow-ups left after the merge with main
|
||||
|
||||
The anchored model was merged on 2026-09-30, after main had gained budget
|
||||
folders, placement and nested bills. Everything below is known and unfinished.
|
||||
|
||||
### "+ New recurring cost…" is offered for a purchase with no post
|
||||
|
||||
`newCostOptionIsSelectable` in `src/ui/recurringForm.ts` checks only the date.
|
||||
A bill needs at least one destination post (`requireRecurringSplitDestinations`
|
||||
in `src/store/actions.ts`), so a purchase left unassigned (no splits) can pick
|
||||
the option, and Save is then refused with "A bill needs a destination post".
|
||||
The error surfaces and the dialog stays open, so nothing is lost — but it is a
|
||||
doomed save the dialog could have prevented. Disable the option, with the
|
||||
reason, while the draft has no splits, the same way a month-only date disables
|
||||
the day-granular units.
|
||||
|
||||
### A bill created from the purchase dialog has no folder choice
|
||||
|
||||
Settings' new-bill form picks a folder; the dialog's "+ New recurring cost…"
|
||||
does not. The new bill nests under its post when it has exactly one split
|
||||
(the same default Settings applies), otherwise it lands in Unfiled and has to
|
||||
be moved from Budget folders. Decide whether the dialog needs the picker or
|
||||
whether moving it afterwards is fine for an occasional action.
|
||||
|
||||
### "Unlink from bill" was replaced by the Recurring cost select
|
||||
|
||||
Main had an "Unlink from bill" checkbox on an edited purchase; the merge
|
||||
dropped it because choosing "None" in the anchored model's "Recurring cost"
|
||||
select does the same thing (and `updatePurchase` now honours an explicit
|
||||
`source: undefined`). Its copy said "the occurrence will show as expected
|
||||
again", which is true for a `calendar` bill and meaningless for a
|
||||
`lastCharge` one, whose next due date simply re-derives from the remaining
|
||||
charges. Confirm the owner does not miss the checkbox; nothing tests its
|
||||
absence.
|
||||
|
||||
### Not yet driven in a browser
|
||||
|
||||
The merge was checked by the full suite, `tsc`, a build, and screenshots of
|
||||
the month page and Settings with demo data (both render, no console errors,
|
||||
Car insurance shows "Next 2026-10-19" after charges on 3 and 19 September).
|
||||
Not yet clicked through by anyone:
|
||||
|
||||
- tagging a new purchase to an existing anchored bill and seeing its next due
|
||||
date move in the Budget tree and in Expected;
|
||||
- "+ New recurring cost…" end to end, including where the new bill appears in
|
||||
Budget folders;
|
||||
- untagging an edited purchase via "None";
|
||||
- the Settings anchoring control switching a never-charged monthly bill to
|
||||
"the last charge" (its month-only start should expand to the 1st and the
|
||||
Month/Date precision control should disappear), and being locked once the
|
||||
bill has a charge.
|
||||
|
||||
## 5. Visual redesign, sub-project 3 — Year, Summary, Post detail
|
||||
|
||||
The owner's brief for the whole redesign: *"right now it looks a bit boring,
|
||||
simple and ugly. We want sleek, modern, and nice to use."* On scoping: both
|
||||
@@ -188,7 +240,7 @@ than re-decide** (spec: `2026-09-02-month-view-design.md`):
|
||||
phone. `formatMoney` is still right wherever an amount can be in some other
|
||||
currency — every purchase row, for one.
|
||||
|
||||
## 5. Visual redesign, sub-project 4 — dialogs and fast entry
|
||||
## 6. Visual redesign, sub-project 4 — dialogs and fast entry
|
||||
|
||||
Untouched. Native `<select>` elements are still browser-default, and
|
||||
`up` / `down` / `archive` in Settings are bare text buttons. Covers the purchase
|
||||
@@ -198,7 +250,7 @@ There is already a spec for fast-entry *behaviour* —
|
||||
`2026-09-02-fast-entry-refinements-design.md`. Read it before restyling, so the
|
||||
visual work does not fight it.
|
||||
|
||||
## 6. Currency work deliberately left undone
|
||||
## 7. Currency work deliberately left undone
|
||||
|
||||
All three were decided against at the time, not forgotten. Reopen only with a
|
||||
reason.
|
||||
@@ -214,7 +266,7 @@ reason.
|
||||
Fine for one "$" currency; if the owner adds two, typing the code
|
||||
disambiguates and nothing warns them. Tested, documented, not solved.
|
||||
|
||||
## 7. Still needs a human
|
||||
## 8. Still needs a human
|
||||
|
||||
`scripts/screenshot.ts` drives headless Chrome, so this list is much shorter
|
||||
than it was. Already seen and confirmed working: the carry meter (including red
|
||||
|
||||
Reference in new issue
Block a user