diff --git a/docs/ui-information-architecture-review.md b/docs/ui-information-architecture-review.md index 77887c5..8f9c1a1 100644 --- a/docs/ui-information-architecture-review.md +++ b/docs/ui-information-architecture-review.md @@ -2,7 +2,10 @@ **Date:** 2026-07-26 **Status:** Priority 0 implemented 2026-07-27 (see below). Priorities 1–4 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) @@ -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 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 slightly off: the set has 13 members including rent, utilities, insurance and @@ -655,7 +681,7 @@ inferred from actual contributions. ## 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. 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. 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. 2. Group sidebar navigation by user intent. 3. Rename `/budget` to `/analytics`. 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 drill-down. @@ -680,7 +706,7 @@ inferred from actual contributions. 4. Add flexible-spending levers, anomalies, and a data-quality work queue. 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. 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 become comparable. -### Priority 4 — polish +### Priority 4 — polish *(#159)* 1. Improve mobile layouts. 2. Add accessibility semantics.