# Journey result: Tenant bulk member invite (SCIM)

- **Walked**: 2026-05-29 by Claude (Opus 4.8) against commit `bf12b0f7d8`
- **Verdict**: **pass (operator roster view) / out-of-scope (SCIM write)** —
  `/operator/tenants` renders the roster; SCIM provisioning lives in the
  separate tenant-admin app.
- **Walker**:
  `/tmp/claude-oshun-lt-2-walkthrough/walk.mjs tenant-bulk-member-invite-scim`

## Observations

- `/operator/tenants` → 200 (authed); renders the roster sorted by memberCount
  (House + Oxbow Foundation + Redbird Institute, plan tiers) — rebuilt goal
  `9ba3d0823d`; prior 404 **fixed**.
- 0 page errors, 0 persistent failures.

## 2026-06-26 addendum

- SCIM `/v1/scim/v2/Users`, `/Groups`, and `/Bulk` are now covered by
  `apps/oshun/web/e2e/tenant-member-invite-scim.spec.ts` against the live BFF
  and local Postgres.
- Path B's single Invite dialog and signed-in invitee spot-check are covered by
  `apps/oshun/web/e2e/tenant-member-actions.spec.ts`, including `/tenant/invite`
  browser accept and tenant-console read-back.
- Remaining gaps: CSV import UI/BFF, external IdP callback, outbound email, full
  SSO/MFA/onboarding first-login, operator table refresh from IdP-created rows,
  and downstream audit reconciliation.

## Out of scope

- SCIM `/v2/Users` bulk provisioning is a tenant-admin app concern (separate app
  per CLAUDE.md); the operator-facing roster view in this shell is verified.
