--- id: USER-WP-0028 type: workplan title: "User account journeys and recovery" domain: communication repo: user-engine status: active owner: codex topic_slug: communication created: "2026-09-13" updated: "2026-09-13" --- Implements docs/account-journeys.md under USER-WP-0027. A passing local suite is not evidence that an external provider flow works live. ## Complete self-service feedback and safe retries ```task id: USER-WP-0028-T01 status: done priority: high ``` U01–U04/U10–U13: preserve safe profile input on validation failure; confirm saves, expose actual login name at password handoff, keep invitation/expired/session recovery reachable. Cover success, denial, provider interruption and retry. ## Connect authoritative application access ```task id: USER-WP-0028-T02 status: todo priority: high ``` U09 and T05: integrate a supported catalogue/admission source and scoped grants/revocation. Do not present static links or membership as effective authorization. Continues USER-WP-0026-T03; establish provider contract before deployment. ## Complete optional OTP onboarding with provider evidence ```task id: USER-WP-0028-T03 status: wait priority: high ``` U05–U08: depends on KEY-WP-0035 and NK-WP-0033 credential custody. Verify enrollment/cancel/replace/lost-factor recovery and old-AAL1-session behavior before enabling live handoff. No stub acceptance. 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.