docs: record push, Unraid deploy, and live verification evidence

Closes out the demo-scenario fix: pushed the two pending commits, deployed
6f77a30 to Unraid, and verified all four live checks (integration status,
failed-workflow listing, retry via API and UI, audit trail, Automation page).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
NuklearRabbit
2026-08-05 16:39:41 +02:00
co-authored by Claude Sonnet 5
parent 6f77a30dce
commit 3808bbe132
+40
View File
@@ -1894,3 +1894,43 @@ for a failure that exists on purpose — the demo told an untrue story about its
- **Not done, and not claimed**: no deployment and no browser verification — the - **Not done, and not claimed**: no deployment and no browser verification — the
environment this ran in has no network to `192.168.10.150` and no Docker, so the live environment this ran in has no network to `192.168.10.150` and no Docker, so the live
Unraid instance still runs the previous revision. Playwright e2e was not re-run. Unraid instance still runs the previous revision. Playwright e2e was not re-run.
## Pushed and deployed the demo-scenario fix (2026-08-05)
Closed out the previous session's outstanding item: pushed the two unpushed commits and
deployed them live.
- **Local gates, re-run in this environment** (Docker + network available):
`docker compose build api` clean; `pytest -q` — **181 passed**; `ruff check .` —
clean; `mypy app` — clean (**50 files**); `cd frontend && npm run build` — clean
(`tsc -b && vite build`).
- **Pushed** `feat/fleet-ops-final-integrations` to `origin`; landing verified with a
fresh `git fetch` + `git log origin/...` (not just the push exit code) — `origin` now
at `6f77a30`.
- **Deployed to Unraid** following the branch's own established convention (`git
archive` of `HEAD` as `source-6f77a30.tar.gz`, `scp`'d to `.deploy/`, extracted over
`/mnt/user/appdata/mobilityops` excluding `.env` and `.deploy`, `.deploy/source-revision`
updated to the full hash `6f77a30dce7c7c7e728cf23f28ec2018300ffcfe`). `docker compose
-p mobilityops -f compose.yaml -f compose.unraid.yaml up --build -d db api web` —
`api`/`web` rebuilt and recreated, `db` untouched, migrations ran automatically with no
errors. Ran `seed --reset` (deterministic counts unchanged from prior sessions).
- **Verified live**, logged in as `operations_manager`:
- `/api/v1/integrations/status`: `n8n.state == "operational"`, `succeeded 19`,
`failed 1`, `unexpected_failed 0`, `demo_scenario_failed 1` — matched exactly.
- `/api/v1/workflows?status=failed`: one row, `BK-H-0020`,
`last_error_code: demoScenarioTimeout`, `is_demo_scenario: true`.
- `POST /api/v1/workflows/{event_id}/retry`: event went to `pending`, then (within
seconds) `succeeded`; aggregate status became `20 succeeded / 0 failed`. Repeated a
second time by re-running `seed --reset` and clicking the actual "Demoscenario
opnieuw proberen" button in the browser (not just the API) — same result, so the
retry is verified as a real dispatcher round trip through both entry points.
- `/api/v1/audit?action=workflow_retry`: recorded the retry with
`metadata.demo_scenario: true`.
- Automation page in the browser, `nl-BE` locale: row showed the "Voorbereid
Demoscenario" badge and the "Demoscenario opnieuw proberen" button; the n8n card
showed the green "Operationeel" badge throughout (never degraded/red).
- **Everything in the runbook was completed and verified.** Nothing was left
unverified.
- **Next action**: none required by this task. Longer-term open items remain as
recorded above — RAGcore reranker gap, n8n workflow 3 publication decision, no PR yet
opened from `feat/fleet-ops-final-integrations` to `master`.