On-device: production readiness — drop the Design-only gate, host assets properly, TestFlight rollout #642
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of EPIC #632.
Today the native module refuses outside
com.rungambit.design, assets are served from Kris's PC over tailscale (:8198), and the Settings toggles are Design-only. To ship: host encoder + packs + detector on a CDN/R2 with versioned manifests (same SHA-256 verified installer), remove the bundle-id gate behind a remote-config flag, a first-run download UX (size shown, wifi-only default, resumable, storage check), settings copy for real users, and the version bump (native change → newversion, runtime policyappVersion). KeepEXPO_PUBLIC_*bases correct for the production profile — never inline the design base.Depends on: size issue (nobody downloads 1 GB on first run), multi-game packs, heat issue.
Done when: a production TestFlight build with the flag on recognizes EN Pokémon offline after a one-time download ≤ 700 MB, and the flag can turn it off remotely.
Filed from a Claude Code session
Rollout phases and decisions recorded on EPIC #632 (2026-09-06): Tower stays the fallback for local misses; phone-home default ON (#644). Phase B gates for this issue: size ≤ 700 MB (#637), per-game packs (#638), older-iPhone test (#646) sets the minimum device rule, remote-config flag per vendor, Tower agreement from #644 as the go/no-go number.
Decisions 2026-09-06 (Kris):
TestFlight behaviour decided 2026-09-06: cascade on-device → Tower → Gemini (Design testing runs fully on device with pricing only). This issue flips
cardvisionOnDeviceOnlyback to false for the production profile and puts on-device behind the remote-config flag.