# Lumi UX overhaul checkpoint review

This review records the current staged implementation checkpoint on `experimental-ux`. It covers the shared foundations and the highest-risk representative flows; it is not the final product-wide acceptance review.

## Implemented surfaces

- Shared tokens, cascade layers, content widths, field states, request envelopes, page lifecycle, dialogs, save/revert behavior, and explicit soft navigation.
- Responsive shell navigation, including focus containment, inert background content, Escape/scrim dismissal, and opener focus restoration.
- Admin settings targeted saves with inline and partial-error handling.
- Overlay management document scrolling, lifecycle cleanup, targeted saves, and OBS import reconciliation without a document reload.
- OKF draft reset and edit flows without a forced reload.
- Navigation builder keyboard movement, scoped save/reset responses, explicit labels, no-JavaScript JSON fallback, and lifecycle-owned behavior.
- Theme Studio targeted custom-theme saves, canonical preview reconciliation, lifecycle cleanup, and contrast corrections for disabled and preview states.
- Lumi AI settings lifecycle ownership for polling/timers and structured enhanced responses while retaining normal POST fallbacks.
- One shared authenticated live-event connection across core Updates and the Lumi AI Improvement Center, with explicit release before full navigation and repeated-navigation browser coverage.
- Custom commands and command policies with lifecycle-owned editors, structured validation, targeted saves/list refresh, keyboard-sortable discovery, and labelled mobile command cards.
- Updates and recovery with lifecycle-owned progress, shared event subscriptions, timed recovery/restore confirmations, targeted repository checks and cleanup-policy saves, and restart reconnection without a document reload.
- Plugin authoring guidance and a route/state manifest.
- Playwright coverage at 320, 390, 768, 1280, and 1920 pixels, including serious/critical axe checks on the public shell and representative authenticated pages.

## Severity review

### P0

No known P0 issue remains in the changed representative flows.

### P1

- Feedback, logs/diagnostics, users/privileges/pages/plugins, and remaining plugin routes still need page-by-page migration and acceptance against the route manifest.
- The plugin-enabled browser fixture is not yet available, so Lumi AI lifecycle behavior is source/regression verified but not included in the authenticated Playwright route matrix.
- The complete built-in/custom-theme contrast matrix has not yet been browser-tested.
- All destructive and entity-edit dialogs have not yet received manual keyboard and screen-reader validation.

### P2

- Several legacy views still rely on broad base selectors. Cascade layers now constrain their precedence, but the markup should continue moving to explicit shared components.
- Representative empty, loading, error, partial-success, offline, permission-limited, disabled, and read-only states exist in the design contract; not every route renders every applicable state yet.

### P3

- Visual polish and density tuning remain for lower-priority plugin and diagnostics surfaces after their component migration.

## Exit evidence for this checkpoint

- `npm run verify:ux`
- `npm run test:ui`
- `node scripts/verify-all.js`
- `npm audit`

The next checkpoint should migrate the remaining route groups in the order recorded in `docs/lumi-ux-route-manifest.md`, then repeat this review with changed routes removed from the remaining P1 list.
