--- id: USER-WP-0031 type: workplan title: "Automated user and administrator journey suites" domain: communication repo: user-engine status: finished owner: codex topic_slug: communication created: "2026-09-13" updated: "2026-09-13" state_hub_workstream_id: "3579f6bb-464e-506f-870c-e4e1b73c161c" --- Implements docs/account-journeys.md under USER-WP-0027. A passing local suite is not evidence that an external provider flow works live. ## Add repeatable suites for each role ```task id: USER-WP-0031-T01 status: done priority: high state_hub_task_id: "7243f931-32c8-585a-b9a4-decb6f35fd57" ``` Run synthetic identities through actual WSGI routes and domain stores, with controlled provider failure/retry fixtures. Assert success, denial, unchanged state on failure, recovery and tenant isolation. Add make test-journeys and CI execution. ## Maintain machine-readable coverage for all 29 journeys ```task id: USER-WP-0031-T02 status: done priority: high state_hub_task_id: "fd222e7c-00c9-525c-b09d-d5851277f011" ``` Map every journey to real tests and explicit external acceptance blockers. Report missing live acceptance as incomplete, never a passing placeholder. Keep matrix/workplans synchronized. ## Publish and verify implemented journeys ```task id: USER-WP-0031-T03 status: done priority: high state_hub_task_id: "3b04c187-a69d-5c30-b73d-ae36792d4d04" ``` Run full unit/conformance suites and live read-only smoke, deploy digest-pinned reviewed source with CAS and rollback evidence. Retain provider-dependent journeys as live tasks until external acceptance passes. Validation: 210 database-enabled regression tests passed with no skips, including independent-connection last-admin protection and nested bootstrap rollback. Thirteen isolated Chromium checks passed. Provider OTP and application access integration remain explicitly open; no complete-journey claim is inferred. Release evidence: docs/evidence/2026-09-13-journey-release.md. Residual integration and live acceptance remain in USER-WP-0028-T02/T03, USER-WP-0030-T03 and USER-WP-0027-T06; these live records precede closure.