diff --git a/.planning/PROJECT.md b/.planning/PROJECT.md index 5321c1d..28254c9 100644 --- a/.planning/PROJECT.md +++ b/.planning/PROJECT.md @@ -170,15 +170,26 @@ future milestone that will consume this data once it exists. with no restart. Admin-UI row rendering and the manual-route 403/200 still need a human browser session (tracked in `13-HUMAN-UAT.md`). Validated in Phase 13: Scheduler & Admin Toggle (PAX8-07, PAX8-09) +- ✓ `/pax8` UI surface — Companies tab (`DataTable` of 118 PAX8 companies, + sortable/searchable) with a cost-breakdown drill-down (`DetailModal` + extended with a `kind='pax8_company'` field group + subscriptions table, + correctly windowed per-subscription latest billed line — not a single + global max), and a Needs Review tab (amber-card queue of the 38 unresolved + matches from Phase 12, candidate-button + manual-search resolve, admin-gated + write). Live-verified end-to-end: 10 reviews resolved via both resolve + paths, persisted (`match_method='manual'`, `resolved_at` set) and confirmed + to survive a real subsequent PAX8 sync untouched; non-admin resolve attempt + correctly rejected with 403. One critical bug (bigint/Zod mismatch breaking + the manual-search path) and one unrelated pre-existing app-wide bug + (`hasPermission()` role-name shadowing, crashing every non-admin permission + check with a 500 instead of 403) were found and fixed during verification. + Validated in Phase 14: /pax8 UI Surface (PAX8-12, PAX8-13, PAX8-14) ### Active -- New `/pax8` page — v2.0 PAX8 Integration milestone (see above); client/auth/ - schema foundation (Phase 10), current-state sync (Phase 11), historical - orders/invoices + company matching (Phase 12), and scheduler/admin toggle - (Phase 13) now validated above +None — all v2.0 PAX8 Integration hypotheses validated above. Milestone complete. ### Out of Scope @@ -266,4 +277,4 @@ This document evolves at phase transitions and milestone boundaries. 4. Update Context with current state --- -*Last updated: 2026-07-11 — Phase 13: Scheduler & Admin Toggle complete* +*Last updated: 2026-07-12 — Phase 14: /pax8 UI Surface complete — v2.0 PAX8 Integration milestone complete*