Tier 4 Onset T5-1-iOS — Step 1 prep (public journey test)¶
Status: STOP — awaiting Ryan real-device journey confirmation
Date: 2026-08-30
Prerequisite: T5-1 Phase 2 accepted — public endpoint live at onset-api.theonset.app
Reference: TIER_4_ONSET_T5-1_INFRA_REPORT.md
Scope lock (Step 1 only)¶
| Allowed | Blocked until Ryan confirms Step 1 |
|---|---|
Staging TestFlight build → public onset-api.theonset.app |
Flip Production.xcconfig |
Onset Staging scheme / Release-Staging archive |
Onset Release archive |
| Ryan journey test on device | App Store upload / submit |
| Build 7 (reuse Gate E build slot for Staging dogfood) | Build 8 bump (Step 2) |
This mirrors Gate E (a414fb6): Staging dogfood on R940, but over the public hostname App Store users will hit — not Tailscale (onset-db.tailc3bbdc.ts.net).
Server preflight (infra — PASS)¶
Run: bash scripts/onset/t5-1-ios-step1-preflight.sh
| Check | Result |
|---|---|
CF proxy in path (cf-ray, server: cloudflare) |
PASS |
/auth/v1/health |
200 |
/auth/v1/settings → apple: true |
PASS (R940 GoTrue + TU6S85XABQ) |
Journey account hello@unicornryda.com on R940 |
1 user, 23 shared_checkins |
BWS ONSET_DB_PROD_SUPABASE_ANON_KEY matches VM 119 .env ANON_KEY (verified; not inlined here).
Mac agent (agent-01) — build + TestFlight¶
Repo: onset-ios @ main (9825d3f or later)
1. Point Staging at public R940 (NOT Production)¶
From Mac with BWS access:
cd /path/to/onset-ios
bash /path/to/lastvet-gates/scripts/onset/t5-1-ios-render-staging-xcconfig.sh "$(pwd)"
Expected Staging.xcconfig:
| Key | Value |
|---|---|
SUPABASE_HOST |
onset-api.theonset.app |
SUPABASE_URL |
https://onset-api.theonset.app |
SUPABASE_ANON_KEY |
BWS ONSET_DB_PROD_SUPABASE_ANON_KEY |
Do not edit Production.xcconfig (still hosted emxrmjys…).
2. Archive for TestFlight¶
| Setting | Value |
|---|---|
| Scheme | Onset Staging |
| Archive configuration | Release-Staging |
| Display name | Onset Staging (distinguishes from App Store build) |
ONSET_STAGING flag |
Present |
| Version | 1.2.22 (7) — same marketing/build as repo today |
Xcode: Product → Archive with Onset Staging scheme selected.
3. Upload to TestFlight¶
- Distribute → App Store Connect (TestFlight processing is fine)
- Same bundle ID
com.last1enterprises.Onsetas production — Ryan installs Onset Staging build 1.2.22 (7) from TestFlight
Note: Step 2 production archive will use build 8; Staging journey test can stay on 7.
Ryan journey test (real device, public path)¶
Install TestFlight build. Use cellular or Wi‑Fi (not Tailscale). Account: hello@unicornryda.com.
| # | Step | Pass criteria |
|---|---|---|
| 1 | Launch app | Opens without crash; backend is public (no Tailscale dependency) |
| 2 | Sign in | Email/password or SIWA succeeds against onset-api.theonset.app |
| 3 | Load own data | Home/dashboard loads; user sees their check-ins / protocol data (expect non-empty for hello) |
| 4 | Check-in or protocol view | Open a check-in history or active protocol — data renders, no auth errors |
| 5 | Sign out | Clean logout; re-login works |
Failure signals: auth loop, empty data for hello, network errors referencing wrong host, SIWA failure (would indicate Apple key mismatch — preflight says R940 apple: true).
Step 1 report template (Ryan fills after journey)¶
T5-1-iOS Step 1 journey: PASS | FAIL
Device:
Network: cellular | wifi
Sign-in method: email | SIWA
Own data visible: yes | no
Check-in/protocol view: yes | no
Sign-out: ok | fail
Notes:
After Step 1¶
| If journey PASS | Ryan authorizes Step 2: flip Production.xcconfig, bump build 8, Onset Release archive |
| If journey FAIL | STOP — diagnose on public path; do not flip Production |
Revert Staging.xcconfig to hosted rollback net after Step 1 (same as Gate E closeout 9825d3f), either before or after Step 2 — do not leave Staging on R940 prod long-term.
Step 2 / Step 3 preview (NOT authorized yet)¶
Documented for continuity only — do not execute until Ryan confirms Step 1:
- Step 2:
Production.xcconfig→onset-api.theonset.app+ BWS anon key; build 8;Onset/ Release archive - Step 3: Upload for App Store review (not Internal Testing only); review notes per Ryan's list
STOP¶
Infra preflight: PASS.
Device journey: pending Ryan on TestFlight build from Mac agent.
Do not flip Production or archive for App Store until Ryan confirms Step 1 journey PASS.