Account & profile management
Status: 🧩 Needs SDK
Scope
A Rewhaven account (Supabase Auth identity) is separate from a Member profile in a household. This feature covers: email/password change, account deletion (with cascade to household membership), and the multi-account case (one person in multiple households — forward-compatible but multi-house is deferred). Auth skeleton is built; real wiring is deferred per arch docs.
The Profile page (shipped)
The Profile tab (ProfilePage / ProfileRoute) is the one place that hosts both
account management and the active-member lens. It replaced the old More hub tab. Its
structure, top to bottom:
- Login-account frame (authenticated self): anchored on the authenticated (login)
account — account settings, About, Help, Join-with-code, and the admin tile (streamed
from
CurrentMemberRepository, so it appears/disappears live with role). This is the_LoginAccountHeader(member identity) that replaced the retired household-header block. - Active-member switcher (
_AccountSwitcherSection): the Google-account-style, capability-gated switcher; selecting re-scopes the app and updates the top-bar avatar + the Profile nav icon together. See Profile switching. - Active-member subsections: My Cosmos (companion settings) and per-member appearance reflect the active member, not the login self. The proxy read-only rule applies — editing My Cosmos is enabled only when the active member is the authenticated self; while proxied it is a read-only view (SDK self-only mutation enforces this).
- Logout sits at the very bottom of the page — removed from the top header entirely (the old top-header logout affordance is retired).
Open questions
- Can a single auth account be a member of multiple households simultaneously (the multi-house model)?
- What happens to household data when the last owner deletes their account?
- Is social login (Google/Apple) in scope for launch, or email/password only?
- How does account deletion interact with the append-only ledger (GDPR erasure vs audit trail)?
Relationship
Personas — auth account ≠ member; one auth account may map to multiple member records in the future.