78 lines
3.6 KiB
Markdown
78 lines
3.6 KiB
Markdown
# MobilityOps premium UI evidence summary
|
|
|
|
Date: 2026-08-02
|
|
Branch: `design/mobilityops-premium-ui`
|
|
Baseline revision: `dfabb41582e302f45a3de826f85f531bf23dfc8b`
|
|
Final design revision: `b3946af4e0e14f2a3acecd212e9f0079e3028fca`
|
|
Review URL: `http://192.168.10.150:1236`
|
|
|
|
## Outcome
|
|
|
|
The working PoC was transformed into the Control Rail operational interface without
|
|
changing backend contracts or adding scope. All existing journeys remain functional;
|
|
return registration gained an evidence-based review boundary before commit.
|
|
|
|
## Evidence index
|
|
|
|
- Baseline audit: `docs/design/current-ux-audit.md`
|
|
- Three directions and decision: `docs/design/design-directions.md`
|
|
- Design tokens and component rules: `docs/design/design-system.md`
|
|
- Stitch resource IDs: `docs/design/stitch-manifest.md`
|
|
- Implemented visual validation: `docs/design/implementation-validation.md`
|
|
- Baseline captures: `artifacts/design-validation/current/`
|
|
- Stitch captures: `artifacts/design-validation/stitch/`
|
|
- Final responsive captures: `artifacts/design-validation/implementation/`
|
|
|
|
## Major implementation changes
|
|
|
|
- Responsive Control Rail shell with compact top bar, desktop rail, off-canvas menu and
|
|
labelled mobile bottom navigation.
|
|
- Live readiness band, filterable Attention queue, movement timeline, honest integration
|
|
pulse and persisted activity on the operations dashboard.
|
|
- Searchable fleet and booking registries; booking client pagination limits the DOM to 25
|
|
operational rows; responsive tables retain field labels.
|
|
- Capture → review → result return workflow with calculated consequence preview and no
|
|
write request before confirmation.
|
|
- Match/conflict duplicate comparison, evidence-first knowledge, system-health cards and
|
|
expandable audit metadata.
|
|
- Inline SVG product mark, Feather-like line icon set, CSS control-centre illustration,
|
|
timeline/status motion and reduced-motion fallback; no image or motion dependency.
|
|
|
|
## Validation
|
|
|
|
| Gate | Result |
|
|
|---|---|
|
|
| Backend tests | 66 passed |
|
|
| Backend lint | ruff passed |
|
|
| Backend types | mypy: 0 issues in 44 files |
|
|
| Frontend types/build | passed; 59 modules; 238.66 kB JS and 36.54 kB CSS before gzip |
|
|
| Browser journeys | 18 passed locally |
|
|
| Horizontal overflow | none at 390/768/1280/1440 px |
|
|
| Accessibility | named landmarks, skip link, visible focus, text-plus-shape status, labelled mobile rows, reduced-motion support |
|
|
| Console/network | pending final deployed smoke test; local API/browser journeys are clean |
|
|
|
|
All displayed operational counts remain derived from the existing persisted API data.
|
|
Synthetic-data labelling is persistent on login and authenticated surfaces.
|
|
|
|
## Performance observations
|
|
|
|
No runtime font, image or animation dependency was added. The application uses inline SVG
|
|
and CSS visuals, and the production bundle remains appropriate for this internal PoC.
|
|
|
|
## Known limitations
|
|
|
|
- Global search is present as a shell affordance but does not execute a cross-entity
|
|
query because no matching API contract exists; route-level search and filters are live.
|
|
- The MCP Hub state is correctly shown as not configured in the current PoC rather than
|
|
simulated as healthy.
|
|
- Live RAGcore and MCP Hub round trips remain subject to the existing environment limits
|
|
documented in `PROJECT_STATE.md`; their degradation behavior is unchanged.
|
|
|
|
## Rollback
|
|
|
|
The accepted baseline remains reachable at commit
|
|
`dfabb41582e302f45a3de826f85f531bf23dfc8b`. To roll back the review deployment without
|
|
rewriting git history, archive that revision, extract it over the application source on
|
|
Unraid while preserving `.env` and Docker volumes, and run
|
|
`docker compose -p mobilityops up -d --build`. Verify `/health` and port 1236 afterwards.
|