Skip to content

T5-1-iOS Step 2 — Production flip + Release archive prep

Status: STOP — Ryan Mac archive + Organizer validate before Step 3 upload
Date: 2026-08-30
Prerequisite: Step 1 journey PASS (Ryan confirmed public path as hello@unicornryda.com)
Branch: onset-ios → t5-1-step2-production-flip (f0adea3)


Step 1 closeout

Item Result
Staging journey over public API PASS (cellular, Tailscale off)
Account hello@unicornryda.com
Flow login → own data → check-in/protocol → sign out

agent-01 completed (Step 2 prep)

Production.xcconfig flip (Production ONLY)

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

Staging.xcconfig: unchanged (still onset-api.theonset.app from Step 1).

Render uses \nREVENUECAT_PUBLIC_API_KEY = anchor (comment-match bug fix).

Version

Field Value
CFBundleShortVersionString / MARKETING_VERSION 1.2.22
CFBundleVersion / CURRENT_PROJECT_VERSION 8 (18 targets)

Scripts (onset-ios/scripts/onset/)

Script Purpose
t5-1-ios-render-production-xcconfig.sh Re-render Production from BWS
t5-1-step2-release-archive.sh Mac: validate + Release archive only (no upload)

SIWA consistency (server-side — PASS)

Check Result
GET https://onset-api.theonset.app/auth/v1/settings → apple: true PASS
R940 GoTrue Apple JWT kid in .env TU6S85XABQ
Production app pointer after flip Same R940 backend as Step 1 staging journey

Production Release + R940 GoTrue + TU6S85XABQ are aligned. Hosted prod (RV26UG9967) remains App Store backend until this build is live.


Mac — Ryan runs archive (STOP before upload)

cd ~/code/onset-ios
git fetch origin t5-1-step2-production-flip
git checkout t5-1-step2-production-flip

# Render-bug check: Production must be clean (no truncated REVENUECAT line)
cat Production.xcconfig | head -20
grep '^SUPABASE_HOST' Production.xcconfig Staging.xcconfig

bash scripts/onset/t5-1-step2-release-archive.sh

Or Xcode GUI:

Setting Required
Scheme Onset (not Onset Staging)
Archive configuration Release
Version 1.2.22 (8)
Display name Onset
ONSET_STAGING Absent on Release
Signing Distribution cert + valid provisioning profile

Organizer: Validate archive. Do not upload yet.

Step 3 (separate authorization): Distribute → App Store Connect for App Store review (not Internal Testing only).


Constraints honored

  • Production flip is the only functional change (+ build 8)
  • Staging stays on public R940 (Step 1)
  • No upload / submit in Step 2
  • Hosted Supabase untouched (rollback net until App Store live)

STOP

Ryan: archive + validate in Organizer → report back → Step 3 upload/submit when authorized.