user-engine/workplans/USER-WP-0029-tenant-admin-journeys.md
tegwick b31285a83e
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Close verified tenant-admin implementation with live residual handoffs
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a092fe-13b1-7f12-ac74-7d258af4d79c
2026-09-13 12:30:45 +02:00

57 lines
2.2 KiB
Markdown

---
id: USER-WP-0029
type: workplan
title: "Tenant administrator journeys and lifecycle isolation"
domain: communication
repo: user-engine
status: finished
owner: codex
topic_slug: communication
created: "2026-09-13"
updated: "2026-09-13"
state_hub_workstream_id: "23963e14-255d-5935-b3d9-423e6f67f1d8"
---
Implements docs/account-journeys.md under USER-WP-0027. A passing local
suite is not evidence that an external provider flow works live.
## Authorize target before provider calls
```task
id: USER-WP-0029-T01
status: done
priority: high
state_hub_task_id: "c22c389c-0ee8-5f96-bd83-f584d29fce6e"
```
T01/T03/T04/T06: reject non-admin and wrong-tenant user IDs before provisioning/recovery/lifecycle calls; bind invitation operations to route tenant; protect shared identities from global tenant-scoped mutation.
## Confirm lifecycle changes and protect admin succession
```task
id: USER-WP-0029-T02
status: done
priority: high
state_hub_task_id: "ce241cf7-b2fc-505c-a3e6-644ddb6689e9"
```
T06/T08: preview target/scope/action, CSRF-bound confirmation, reject stale state and last-admin removal, provide cancel and recovery. Keep domain/API guards as well as UI checks. Document concurrency/external propagation limits.
## Explain onboarding and delivery state
```task
id: USER-WP-0029-T03
status: done
priority: high
state_hub_task_id: "74664b6b-cc98-5332-a0d0-6a1a09a55556"
```
T02/T03/T04/T07: show actual directory login separately from display name, account state, provider uncertainty, invitation delivery status and appropriate next steps; prevent duplicate rows from workload memberships.
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.
Released and verified: docs/evidence/2026-09-13-journey-release.md. Residual application grants/revocation remain USER-WP-0028-T02; actual mail receipt and integrated real-user acceptance remain USER-WP-0027-T06. These live work records retain the remaining tenant-admin journey scope after this implementation workplan closes.