diff --git a/PROJECT_STATE.md b/PROJECT_STATE.md index 550e0a6..94a6031 100644 --- a/PROJECT_STATE.md +++ b/PROJECT_STATE.md @@ -2725,3 +2725,28 @@ evidence yet." - Exact next action: commit and push M31, create and verify a live database backup, redeploy the committed archive, then verify live RAG inventory, create a real post-reset MCP Hub tool-call audit record, and complete production browser/acceptance evidence. + +## M32 — M31 production acceptance and integration proof (2026-08-10) + +- Pushed M31 to Gitea `master`, deployed the committed runtime, and refreshed the exact + server source marker to `eecfcb4b79a3dd0d36d5b85580e09b9b0432e479`. The verified + pre-deployment custom-format backup is + `backups/postgres/mobilityops-20260810T185833Z.dump`; its SHA-256 and + `pg_restore --list` both passed. Alembic remains `b913a72e8c14 (head)`. +- Live RAGcore exact lookups report **11/11 verified active published documents** for + each of NL/EN/FR. The Knowledge Hub visibly separates that index proof from the 33/0 + n8n sync report and labels the provider operational. +- A real production MCP Hub `mobilityops.operations.summary` call reached Fleet Ops under + the tenant-bound Hub client identity. The final short-lived demo bearer returned HTTP + 200 with JSON and HTTP 401 after immediate revocation; Fleet Ops now reports MCP Hub + operational and retains three real verification audit events. +- Complete live Playwright acceptance passed **152/152 in 4.7 minutes** after the focused + three-language RAG title/evidence matrix passed 3/3. Final in-app visual inspection + confirmed the compact dashboard attention action, the four-fact RAG evidence strip and + the operational MCP card. Post-deployment API logs contain no traceback or critical + error. +- The final reset restored **2 users / 180 customers / 50 vehicles / 254 bookings / 75 + inspections / 40 maintenance records / 33 quality issues / 20 workflow runs**, with + all five scenarios ready; the last action after reset was the read-only Hub proof. +- Exact next action: none for the requested scope; keep the public synthetic demo online + and monitor its existing health, backup and integration evidence surfaces. diff --git a/artifacts/evidence/final-summary.md b/artifacts/evidence/final-summary.md index e829531..54e383f 100644 --- a/artifacts/evidence/final-summary.md +++ b/artifacts/evidence/final-summary.md @@ -2,7 +2,7 @@ ## Accepted implementation -- Runtime commit: `29325b6c2775806080dc40e1988634d6ceb300a0` (`master`). +- Runtime commit: `eecfcb4b79a3dd0d36d5b85580e09b9b0432e479` (`master`; runtime code from `cb7edb0`). - Live demo: `http://192.168.10.150:1236` — public passwordless synthetic demo. - Deployment: Unraid `/mnt/user/appdata/mobilityops`, Compose project `mobilityops`. - Database migration: `b913a72e8c14 (head)`. @@ -11,9 +11,9 @@ ## Clean acceptance — 2026-08-10 ```text -Backend, isolated PostgreSQL: 239 passed, zero warnings -Playwright, fresh local build: 150 passed (5.2 min) -Playwright, live production: 150 passed (4.2 min) +Backend, isolated PostgreSQL: 241 passed, zero warnings +Playwright, fresh local build: 152 passed (5.4 min) +Playwright, live production: 152 passed (4.7 min) Ruff: clean Mypy: clean across 58 source files Frontend lint/build: passed @@ -23,11 +23,11 @@ Alembic: b913a72e8c14 (head) The browser suite covers both roles, protected routes, booking/return/maintenance/user/privacy workflows, five data-quality resolution types, correlated audit, retryable orchestration, grounded knowledge in three languages, the complete guided demo, the recruiter highlights, keyboard behaviour and responsive layouts from 360 to 1440 px. -The first production run correctly exposed two stale test assumptions: the redesigned Knowledge Hub shows localized source titles rather than raw file names. The evidence contract was changed to require the localized title and the language-specific source fragment. That focused matrix passed 4/4, followed by the complete 150/150 green production run. +The provider matrix explicitly covers both valid title contracts: the deterministic provider uses Markdown frontmatter titles, while production RAGcore returns curated localized presentation titles. Both must include the language-specific source fragment. The focused live matrix passed 3/3, followed by the complete 152/152 green production run. ## Production hand-off state -The final reset completed at `2026-08-10T16:31:27Z` and restored: +The final reset completed immediately before the verified Hub call at `2026-08-10T19:16Z` and restored: ```text users 2 · customers 180 · vehicles 50 · bookings 254 · inspections 75 @@ -39,13 +39,13 @@ API readiness is `ready`, PostgreSQL is `up`, and API, web, database, scheduled A pre-deployment custom-format backup was created and independently verified by SHA-256 plus `pg_restore --list`: -`/mnt/user/appdata/mobilityops/backups/postgres/mobilityops-20260810T161659Z.dump` +`/mnt/user/appdata/mobilityops/backups/postgres/mobilityops-20260810T185833Z.dump` ## External integration evidence - **Existing central n8n:** configured, dispatch enabled and operational. All four expected workflows have recent healthy heartbeats. The reset state contains 19 successful runs, zero pending, zero unexpected failures and one explicitly synthetic failed-retry scenario. -- **RAGcore:** reachable and ready for tenant `northstar-mobility-demo`, workspace `mobilityops`, collection `internal-procedures`. Fleet Ops manages 11 authoritative Dutch sources; the latest n8n report records 33 synchronized language documents and zero failures. RAGcore exposes no reliable index-size endpoint, so `document_count` deliberately remains `null`. -- **ITWorx MCP Hub:** registration is enabled and the Hub is reachable. A reset intentionally clears demo audit history, so the final state has no recent tool-call evidence and the UI labels MCP **not connected** rather than inferring success from configuration. Four tenant-bound service-authenticated endpoints remain contract-tested and read-only. +- **RAGcore:** reachable and ready for tenant `northstar-mobility-demo`, workspace `mobilityops`, collection `internal-procedures`. Exact identity lookups independently confirm 11/11 active published documents in each of NL/EN/FR; the latest n8n report separately records 33 synchronized documents and zero failures. The canonical parsed-artifact hash is not misrepresented as a raw-source hash. +- **ITWorx MCP Hub:** registration is enabled, the Hub is reachable and Fleet Ops is **operational**. Three real `mobilityops.operations.summary` verification calls are audited under the Hub's tenant-bound client identity; the final short-lived bearer produced HTTP 200/JSON and HTTP 401 after immediate revocation. All exposed Fleet Ops tools remain read-only. ## Recruiter and visual acceptance @@ -55,7 +55,8 @@ Interactive live inspection confirmed: - no horizontal overflow on Highlights or Engineering at desktop; automated coverage confirms 360/390 px mobile layouts; - clear hierarchy, consistent primary actions and readable proof cards; -- truthful live n8n/RAGcore/MCP labels after reset; +- compact remaining-attention action (count badge, two-line label, small directional icon) without the former stretched empty panel; +- truthful live n8n/RAGcore/MCP labels after reset, including 11 verified RAG documents and the real Hub client/tool evidence; - no dead links, placeholder numbers or unexplained raw data-quality references; - complete synthetic-data disclosure on login and in the persistent shell.