90 lines
4.5 KiB
Markdown
90 lines
4.5 KiB
Markdown
# MobilityOps premium UI evidence summary
|
|
|
|
Date: 2026-08-02
|
|
Branch: `design/mobilityops-premium-ui`
|
|
Baseline revision: `dfabb41582e302f45a3de826f85f531bf23dfc8b`
|
|
Final design implementation commit: `1f292e14bb6a2e8ded5dc675b1b3360307d8a9ae`
|
|
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; 240.24 kB JS and 36.63 kB CSS before gzip |
|
|
| Browser journeys | 19 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 |
|
|
| Deployed browser smoke | passed on all 10 authenticated routes plus login at desktop and mobile sizes |
|
|
| Console/network | 0 browser warnings/errors; 7 authenticated API paths returned HTTP 200 |
|
|
| Deployed global search | Ctrl+K plus `MO-024` navigation passed against the review URL |
|
|
|
|
All displayed operational counts remain derived from the existing persisted API data.
|
|
Synthetic-data labelling is persistent on login and authenticated surfaces.
|
|
|
|
Deployed evidence is stored in `artifacts/design-validation/implementation/deployed/`.
|
|
The review stack reports healthy PostgreSQL/API state, HTTP 200 from the web application,
|
|
and healthy state from the server's existing n8n at port 5678. A synthetic return reached
|
|
`succeeded` on attempt 1 through that shared n8n and its MobilityOps callback; the demo was
|
|
then reset to its deterministic state.
|
|
|
|
## 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 resolves Control Rail sections and `MO-*`, `BK-*`, `DQ-*` public
|
|
references. It intentionally does not offer customer lookup because the locked PoC has
|
|
no customer detail route or cross-entity search API.
|
|
- The repository retains a bundled n8n service for standalone local clean-checkout demos.
|
|
The Unraid overlay keeps it behind the opt-in `bundled-n8n` profile; the live review
|
|
deployment uses the server's existing shared n8n instead.
|
|
- 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.
|