Ubiquitous language
Identity terms must stay stable across contract, backend, frontend, and Supabase policy.
- Account: authenticated user identity.
- Profile: user-visible Sanmopia member data.
- Session: Supabase Auth session.
- Role: authorization claim used by policy.
- Permission: action allowed by role and row policy.
- Mother: service recipient account.
- Caregiver: care delivery worker account.
- Branch operator: branch user who can operate reservation workflow, care delivery recording, branch settlement preparation, and branch-scoped records.
- Branch manager: source-era actor label; map to Branch operator unless a settlement compatibility boundary explicitly names a branch-manager actor kind.
- HQ admin: headquarters user who can review and close headquarters settlement.
- Headquarters admin: alias for HQ admin. Do not treat Supabase role metadata or profile labels as headquarters authority.
- Branch membership: Supabase row that maps a user to a branch role; mirrored into SpiceDB as branch relationship tuples.
- Reservation capability: stage-bound feature action checked before SpiceDB relationship permission.
- Reservation finance close capability:
close_reservation_finance, a SpiceDB-backed reservation capability for HQ-admin financial close and repair commands.
Source-era terms are documented only when mapped to a current term.