Installable Dev/Alpha/Beta build + Google login + minimal onboarding that reaches the home/call screen. Internal QA confirmed via Firebase App Tester β Alex is in and testing today. M0 now narrows to external/Play distribution for the Open Testing launch.
Highest-risk, highest-value, mostly there. Reconnect on drop, session resume, network handover, 5001 recovery.
Chat reconnect, character-switch history UX, send-button stall recovery.
Apple Sign-In (iOS has it; needed for iOS-user migration & account parity), delete-account (Play policy), sign-out. Locked to M3.
Framework, shell, carousel, Search card all done. Finish card content + post-call rendering.
Now in-scope (Open Testing commitment). FCM plumbing β permission prompt β text/waitlist push β deep-link tap-through. universal links.
Land the gate early-and-cheap if it blocks sign-in testing; keep analytics events as final polish. Mostly-built framework needs Android wiring + verification.
/waitlist/status β app-or-gate logic is a must-ship.capture-android (visual evidence) and navigate-android (Maestro flow runs) at each exit.call.connect.duration_ms and reconnect success.Plan items that don't reference a Linear ticket β confirm whether each needs to be tracked, is already covered by an existing issue, or can be dropped.
GET /waitlist/status β app-or-gate behavior. May be covered by PMF-3090, but the client gating itself may need its own ticket.