M54: harden operations and demo resilience
MobilityOps acceptance / backend (push) Failing after 19s
MobilityOps acceptance / frontend (push) Successful in 25s
MobilityOps acceptance / e2e (push) Skipped

This commit is contained in:
NuklearRabbit
2026-08-24 03:31:03 +02:00
parent b0706989db
commit 81e3fd63bd
101 changed files with 5641 additions and 828 deletions
+55
View File
@@ -72,3 +72,58 @@ Current evidence images are in `artifacts/evidence/screenshots/`:
## Deliberate boundary
This is a completed, production-shaped public demo—not claimed customer adoption and not a general ERP. Accounting, payments, public reservations, CRM, inventory, HR, a second RAG stack, a separate MCP server and autonomous write agents remain intentionally excluded. A real personal-data rollout would additionally require the adopting organisation's identity provider, retention approvals, secrets lifecycle, alert ownership and disaster-recovery governance.
## Local M54 upgrade candidate — 2026-08-23 (not released)
This evidence supplements, but does not replace, the production hand-off above. The local
working tree contains an intentionally uncommitted recruiter UX and resilience upgrade;
production, its database and the production screenshots were not changed.
Implemented evidence includes the interactive five-step system flow, hardened booking/return/
data-quality invariants, atomic cross-replica demo reset, exact n8n callback and dispatcher
leases, citation-bound RAGcore answers, deterministic seed regeneration and abortable,
race-safe frontend data loading. Keyboard, forced-colours, reduced-motion and responsive
behaviour remain part of the established Fleet Ops design system.
Exact local validation commands and results:
```text
docker compose -p mobilityops-m54-final -f compose.yaml -f compose.test.yaml run --build --rm api pytest
331 passed in 94.19s
focused DQ-03 edge/concurrency suite
44 passed
combined RAGcore, dispatcher and data-quality suite
121 passed
docker compose -p mobilityops-lint -f compose.yaml -f compose.test.yaml run --build --rm --no-deps api ruff check app tests
All checks passed
docker compose -p mobilityops-lint -f compose.yaml -f compose.test.yaml run --build --rm --no-deps api mypy app
Success: no issues found in 62 source files
cd frontend && npm run lint
passed
cd frontend && npm run build && npm run budget
passed
python scripts/check-source-budgets.py
passed; data-quality service 799/900 lines; main CSS 76342/78000 bytes;
architecture CSS 8057/9000 bytes; data-quality CSS 6525/8000 bytes
cd frontend && npx playwright test
171 passed (6.9m) in one uninterrupted run against the rebuilt release container
global-search shortcut regression, repeated against the release container
10 passed in 10 consecutive repetitions
docker compose -p mobilityops-contracts -f compose.yaml -f compose.test.yaml run --build --rm --no-deps --volume "C:\Projects\MobilityOps:/repo" --workdir /repo/backend api python ../scripts/check-contracts.py
OpenAPI, event, MCP and n8n contracts are synchronized
cd frontend && npm audit --omit=dev
0 vulnerabilities
```
The final local reset restored `2 users / 180 customers / 50 vehicles / 254 bookings / 75
inspections / 40 maintenance records / 33 data-quality issues / 20 workflow runs`, with all
five synthetic scenarios ready. API readiness is `ready`, PostgreSQL is `up`, the rebuilt
API/web stack remains available, and the final 20-minute log scan contains no traceback,
critical, unhandled, panic, fatal or emergency hit. `git diff --check` is clean.
In-app browser inspection covered the login, Dashboard and Engineering surfaces at desktop
and 390×844. It confirmed zero horizontal overflow, no alert or console errors, the intended
one-column mobile flow, readable mobile cards and consistent selected-step feedback. The local
Compose candidate is healthy at `http://localhost:1228`. A release commit/tag, production
backup and deployment remain deferred until explicit authorization; production and its data
were not touched by M54.