Block mobile GA on product purpose clarity

This commit is contained in:
rcourtman 2026-04-24 21:28:01 +01:00
parent f59e8d09ff
commit ad4f5ff89a
2 changed files with 52 additions and 2 deletions

View file

@ -0,0 +1,25 @@
# Mobile Product Purpose GA Blocker - 2026-04-24
## Classification
- Type: release gate
- Blocking level: release-ready
- Lane: L5 Mobile go-live readiness
## Trigger
During physical iPad proof review on 2026-04-24, the product owner stated that the actual Pulse Mobile experience does not make clear what the app brings to a normal self-hosted Pulse user or what the app is for.
## Judgment
The current mobile candidate may be technically release-capable, including physical-device pairing, APNs delivery, tap-through routing, approval actions, reconnect, and store configuration evidence, but that does not make it product GA-ready.
Pulse Mobile public rollout is blocked until the in-app experience itself explains and proves the companion-app value for self-hosted operators. The target product shape should make the primary jobs obvious without internal explanation: away-from-desk infrastructure alert triage, quick status orientation, safe approval handling, and recovery from notification or deep-link context.
## Exit Criteria
- The app has an explicit product role rather than feeling like a thin or unexplained subset of desktop Pulse.
- First-run, unpaired, paired, empty, alert, approval, and recovery states make the next useful action obvious to a normal self-hosted operator.
- The first screen after pairing communicates current estate state and why opening mobile is useful.
- A physical-device walkthrough demonstrates that a user can understand the app purpose and primary jobs without release-team narration.
- Technical readiness evidence remains current on the candidate being promoted.

View file

@ -2650,7 +2650,7 @@
"status": "partial",
"completion": {
"state": "bounded-residual",
"summary": "Mobile is at the RC usefulness floor; broader go-live hardening remains post-RC follow-up, and store-capable work stays draft/TestFlight/internal-only until the current candidate is rerun on physical devices and explicitly judged product-ready.",
"summary": "Mobile is technically release-capable at the RC usefulness floor, but product GA is blocked: the current iPad experience does not yet make the normal self-hosted Pulse user value clear enough to justify public rollout. Store-capable work stays draft/TestFlight/internal-only until the mobile product purpose, first-run story, and primary operator jobs are explicit in the app and revalidated on device.",
"tracking": [
{
"kind": "lane-followup",
@ -2666,6 +2666,11 @@
"path": "docs/release-control/v6/internal/PRE_RELEASE_CHECKLIST.md",
"kind": "file"
},
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/mobile-product-purpose-ga-blocker-2026-04-24.md",
"kind": "file"
},
{
"repo": "pulse-mobile",
"path": "store/listing.md",
@ -3708,6 +3713,26 @@
}
]
},
{
"id": "mobile-product-purpose-and-first-run-clarity",
"summary": "Confirm Pulse Mobile communicates a clear self-hosted operator purpose in the actual app experience: a normal user should understand why the companion app exists, what jobs it handles away from the desktop, and how pairing, alerts, approvals, and recovery surfaces fit together before public rollout.",
"owner": "project-owner",
"blocking_level": "release-ready",
"minimum_evidence_tier": "local-rehearsal",
"status": "blocked",
"verification_doc": "docs/release-control/v6/internal/HIGH_RISK_RELEASE_VERIFICATION_MATRIX.md",
"lane_ids": [
"L5"
],
"evidence": [
{
"repo": "pulse",
"path": "docs/release-control/v6/internal/records/mobile-product-purpose-ga-blocker-2026-04-24.md",
"kind": "file",
"evidence_tier": "local-rehearsal"
}
]
},
{
"id": "mobile-relay-auth-approvals",
"summary": "Confirm pulse-mobile pairing, persistence, relay reconnect, auth transitions, and approval flows work against a real instance.",
@ -4079,7 +4104,7 @@
},
{
"id": "mobile-post-rc-hardening",
"summary": "Track broader mobile go-live hardening beyond the RC usefulness floor, including non-public store-capable rehearsal while public rollout stays blocked until the current candidate passes fresh physical-device proof and is judged product-ready.",
"summary": "Track broader mobile go-live hardening beyond the RC usefulness floor, including non-public store-capable rehearsal while public rollout stays blocked until the actual app experience makes the self-hosted operator value, first-run story, and primary away-from-desk jobs clear enough to be judged product-ready.",
"owner": "project-owner",
"status": "planned",
"recorded_at": "2026-03-13",