docs: put the UI review's priorities 1-4 on the board, and correct two claims
ci / lint-test (push) Successful in 53s

The review was written 2026-07-26 and last touched 2026-07-29, one day before
the board replaced ACTIONS.md, so it was never migrated. Priorities 1-4 existed
only in this file. They are now epic #154 with #155-#159 under it.

Two claims in the doc were wrong. It said Priority 0 was guarded by
analytics-sql.test.ts; that file covers the three SQL fragments and nothing
else, so items 2, 3 and 6 -- pace/headline parity, the fees date range, and
partial-month comparison -- have no test at all. Those are the three where a
regression is silent, which is why the gap is worth a ticket rather than a note.

And it predated two changes in the same metric-integrity family: the signed
investments line (c70d2b1) and transfers hidden by default (f6c500b). The first
matters to the doc directly -- the cashflow strip it describes now carries a
signed invested figure, so a negative month is data rather than a bug.
This commit is contained in:
2026-08-02 16:44:04 +10:00
parent dbc6fd1352
commit 6e179d3a0a
+33 -7
View File
@@ -2,7 +2,10 @@
**Date:** 2026-07-26 **Date:** 2026-07-26
**Status:** Priority 0 implemented 2026-07-27 (see below). Priorities 14 remain **Status:** Priority 0 implemented 2026-07-27 (see below). Priorities 14 remain
proposals. proposals, tracked on the board under epic **Analytics & Insights information
architecture** (#154) — verified 2026-08-02, nothing in 1, 2 or 4 has been
started, and 3 is partially covered by the shared-expenses rebuild rather than by
this review.
## Implementation status — Priority 0 (2026-07-27) ## Implementation status — Priority 0 (2026-07-27)
@@ -44,7 +47,30 @@ Also fixed while in here, both found by checking rather than by proposal:
category-day, so the pace chart ended the month a few cents off its own category-day, so the pace chart ended the month a few cents off its own
headline. Both now carry 4dp and round once, at display. headline. Both now carry 4dp and round once, at display.
Guarded by `src/__tests__/integration/analytics-sql.test.ts`. Partially guarded by `src/__tests__/integration/analytics-sql.test.ts`, which
covers the SQL fragments — `EXCLUDE_RECONCILED_SOURCE`, `NATIVE_CURRENCY` and
`INVESTMENT_SIGNED` — and nothing else. **Items 2, 3 and 6 have no test.** Those
are the three where a regression is silent rather than loud: the pace chart would
simply go back to disagreeing with the headline printed directly above it, the
fees figure back to growing forever, and a partial month back to being measured
against complete ones — all without anything failing. Tracked as #155.
### Landed after this doc, in the same family (2026-08-02)
Two changes postdate the Priority 0 pass and belong to the same
metric-integrity thread, so read them alongside it:
- **The investments line is signed** (`c70d2b1`, 2026-07-31). `INVESTMENT_SIGNED`
makes credits and refunds negative so a withdrawal nets against contributions
instead of reading as more money invested. March 2026 had shown $38,615.34 of
investing in a month that was net **$11,384.66**. Consequence for the
Analytics section below: the "income, expenses, invested, and net-cash strip"
it describes now carries a *signed* invested figure, and a net-disinvesting
month is real data — the budget page gates on `!== 0`, not `> 0`.
- **Transfers hidden by default in the transactions view** (`f6c500b`,
2026-07-30), with an explicit category pick overriding the exclusion and the
default off when scoped to a statement. An IA change in this review's
territory that this review did not propose.
The doc's characterisation of `REGULAR_CATEGORIES` (Insights section) is also The doc's characterisation of `REGULAR_CATEGORIES` (Insights section) is also
slightly off: the set has 13 members including rent, utilities, insurance and slightly off: the set has 13 members including rent, utilities, insurance and
@@ -655,7 +681,7 @@ inferred from actual contributions.
## Recommended implementation order ## Recommended implementation order
### Priority 0 — metric integrity ### Priority 0 — metric integrity *(done 2026-07-27; test gap #155)*
1. Exclude reconciled source rows from monthly analytics. 1. Exclude reconciled source rows from monthly analytics.
2. Make spend pace use the same spend semantics as the headline. 2. Make spend pace use the same spend semantics as the headline.
@@ -664,14 +690,14 @@ inferred from actual contributions.
5. Fix Shared foreign-currency presentation. 5. Fix Shared foreign-currency presentation.
6. Avoid partial-month versus full-month comparisons. 6. Avoid partial-month versus full-month comparisons.
### Priority 1 — product hierarchy ### Priority 1 — product hierarchy *(#156)*
1. Add Overview and make it the default route. 1. Add Overview and make it the default route.
2. Group sidebar navigation by user intent. 2. Group sidebar navigation by user intent.
3. Rename `/budget` to `/analytics`. 3. Rename `/budget` to `/analytics`.
4. Add consistent methodology and coverage indicators. 4. Add consistent methodology and coverage indicators.
### Priority 2 — Analytics and Insights ### Priority 2 — Analytics and Insights *(#157)*
1. Simplify Analytics around period, comparison, change explanation, trend, and 1. Simplify Analytics around period, comparison, change explanation, trend, and
drill-down. drill-down.
@@ -680,7 +706,7 @@ inferred from actual contributions.
4. Add flexible-spending levers, anomalies, and a data-quality work queue. 4. Add flexible-spending levers, anomalies, and a data-quality work queue.
5. Rework recurring patterns and fees into decision-oriented summaries. 5. Rework recurring patterns and fees into decision-oriented summaries.
### Priority 3 — Shared ### Priority 3 — Shared *(#158; items 2 and 5 landed with the shared-expenses rebuild)*
1. Add settlement contexts. 1. Add settlement contexts.
2. Link payments to real transactions. 2. Link payments to real transactions.
@@ -689,7 +715,7 @@ inferred from actual contributions.
5. Backfill historical closed-context splits so long-range personal analytics 5. Backfill historical closed-context splits so long-range personal analytics
become comparable. become comparable.
### Priority 4 — polish ### Priority 4 — polish *(#159)*
1. Improve mobile layouts. 1. Improve mobile layouts.
2. Add accessibility semantics. 2. Add accessibility semantics.