Ordered for testability: get each feature into a state QA can exercise as early as possible, so we collect feedback while there's runway to fix. Keeps the proposed priority order, fills the gaps.
Ship by
Jun 24
Donald back 22nd
Decision locked β Open Testing (public), hard commitment. Push notifications + universal links + waitlist flow are must-ships. App ships to Play Open Testing with an in-app waitlist gate (reuses iOS waitlist infra).
Bar length = items in that milestone; solid fill = done, faded = remaining. Counts include leaf tickets only (parent epics + stretch items excluded). After unpacking the Chat epic and Calls reliability sub-tree: M1 Texts is the heaviest open bucket (11 items remaining); M4 SDUI is closest to done at 75% (PMF-2722 in review, PMF-3034 + PMF-2725 remaining); M0 Calls is mid-way with most P0 reliability work shipped.
QA β what to test, what to ignore
Per-milestone breakdown of what QA should exercise vs. known gaps to skip. Currently detailed for M1 Texts β other milestones will get the same treatment as they near QA-readiness.
Onboarding flow β gender, agent audio sampler (PMF-3211), greeting. Sits between login and calls/texts.
Profile / character parity β confirm release profiles reach Android (PMF-3194 was canceled as duplicate β verify it's covered).
β Out of scope for 6/24
Apple Sign-In on Android (PMF-3215) β deferred post-launch. Ticket stays open in Linear as backlog. iOS-user migration via Apple ID will require pickup before that funnel is meaningful.
Android Auto (PMF-2704, PMF-2708) β backlog, Level 4, partner application + production rollout. Separate train.
β Confirm with team
Waitlist promotion cadence (time / count / manual) β sizes the M5 analytics work + M3 admission policy.
Items to validate in Linear
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.
Client gate logic + waitlist entry screen (M3) β PMF-3090 covers the Statsig auto-approve side; confirm whether the in-app GET /waitlist/status handling + entry-screen UI need their own ticket(s).
Universal / deep links on Android (M2) β required by Open Testing + push tap-through; no ticket found.
waitlist_joined / waitlist_approved analytics events on Android (M5) β iOS landed in #16428; verify Android wiring is ticketed.
Rudderstack / Bitdrift sink verification on Android (M5) β sink correctness on the events above; may be covered by an existing analytics ticket.