Skip to main content

MVP-1 launch checklist

Date: 2026-07-02 · Branch: feat/mvp1-personas-authz @ 2be8bf9 (== main) Status: pre-launch gate — all items below must be resolved or explicitly accepted before the first real household with minor members is onboarded.

Items marked ⚖️ require counsel confirmation before closing. Items marked 🔴 are hard blockers (COPPA / security); do not onboard real minors until closed.


Supabase dashboard — auth configuration

  • Site URL + redirect allowlist. Add the production origin (and /rewhaven/ path prefix for the dev-cloud host) to Supabase Auth → URL Configuration → Site URL and Redirect URLs, or email-confirm links dead-end after sign-up. Source: progress.md "BLOCKER 3 (user dashboard, pending)".

  • "Secure email change" toggle ON. Supabase Authentication → Email → "Secure email change" must be enabled so the change-email flow sends a confirmation to the new address before the switch takes effect (double-opt-in, prevents account takeover). RW-09 review note: cannot verify from code; manual dashboard step.

  • Leaked-password protection. Supabase advisor flags this as a recommended setting (Authentication → Password); enable before real users sign up. Source: progress.md security-advisors sweep after CB migrations.


COPPA hard gates 🔴 (before any real minor data)

  • HARD-1 — child financial-PII gate. Extend assertChildDataAllowed to cover ledger_entries, approvals, spend_requests, redemptions, token_batches. Currently only traits/country/goals are gated. Must close before a real minor's wallet or redemption data is stored. Source: docs/decisions/2026-06-28-app-requirements-coverage.md RW-L1; progress.md Phase 4 TRACKED.

  • HARD-2 — consent versioning + re-consent SLA. Implement checkConsentCurrency (currently TODO in ConsentService) + re-consent within SLA + version-gating before any ToS/privacy policy version bump that affects real minors. Source: coverage doc RW-L2; progress.md Phase 4b TODOs; NFR-CONSENT-3/4.


Schema / RLS deferred items (before wider helper rollout)

  • DF-1 — helper RLS widening. When helper cloud identity ships (non-parental member with own auth.uid()), ledger_entries_insert RLS needs a self-move carve-out so a helper's own moveFunds rows are accepted. Currently service-only; cloud path is parental account-holder only so it is safe for MVP-1. Source: progress.md Money S2 review minor; architecture/features/money.md §Deferred.

Flow tests + golden regeneration

  • Regenerate flow goldens on the reference environment. 3 DS atmosphere_horizon goldens have pre-existing font/env drift on Windows (identified at swipe-tabs slice); regenerate on the Linux/macOS CI environment before treating golden failures as regressions. Source: progress.md swipe-tabs note + Phase 8 wrap-up.

  • Fix 2 pre-existing full_stack_test failures. seedDemoHousehold matches the spec demo shape fails because the seed builds 3 kids but the assertion expects 2. Unrelated to this branch; reproduced on clean HEAD. Fix before launch to keep the full-stack suite green. Source: progress.md Phase 4b PRE-EXISTING; confirmed still open at RW-10 wrap-up.


  • VPC verification method. The onboarding consent step currently shows spelled-out copy; the actual verification method (email-plus, card-on-file, etc.) is unresolved pending counsel sign-off. Do not represent this step as a legally-sufficient VPC until the method is confirmed. Source: coverage doc §Terms & consent; progress.md RW-10 deferred "FR-ONBOARD-3/4/7 consent-ordering ⚖️ counsel".

  • Consent-ordering review. The wizard presents consent after the first-kid step as implemented. Final ordering (before or after profile data entry) is a counsel decision for COPPA compliance. Flag before the first real child profile is created. Source: architecture/features/onboarding.md Decisions; progress.md RW-10.