Findings — SplitFire AI apps release session (KaroKowe Jam TestFlight) (closed)
Context: shipping a macOS build (KaroKowe Jam) to TestFlight via the asc
CLI. Concrete app id / bundle id / build number are omitted — this is a public
repo; keep plan files to generalizable asc findings, not per-app identifiers.
1. The release asc binary can silently lag development — DOC-NOTE ✅ SHIPPED
The installed/release asc predated the testflight subcommand, yet
asc apps upload still worked — because upload only shells out to altool
and doesn't touch the newer code paths. So an upload succeeding is not
evidence that the binary is current.
Rule: before relying on a newly-added subcommand (e.g. testflight),
rebuild asc from development first (cargo build --release), or you'll hit
unrecognized subcommand on a binary that otherwise looks healthy.
Where this lives: the rule is captured in AGENTS.md § "Verify before
relying on a freshly built asc" so a future session doesn't relearn it.
2. testflight groups takes a nested subcommand, not an app id — ✅ SHIPPED
asc testflight groups <APP_ID> would have failed with
error: unrecognized subcommand '<APP_ID>'. Confirmed command surface:
asc testflight groups list <APP_ID>
asc testflight groups get <GROUP_ID>
asc testflight groups add-build --build-id <BUILD_ID>... <GROUP_ID>
asc testflight app-review-detail get <APP_ID>
asc testflight app-review-detail update ... # contact + demo-account details
asc testflight app-review-submissions list <BUILD_ID>
asc testflight app-review-submissions submit <BUILD_ID>
Notes:
- groups add-build and app-review-submissions submit are CLI-only by
design (adding a build to an external group / submitting to Beta App Review
can trigger review — not something an MCP tool call should do unattended).
- Both support --dry-run to print the request body before writing.
3. Finish-the-release recipe — DOC-NOTE
- Upload:
asc apps upload <PKG> --wait(always--p8-file-path; never the script's rawaltool, which can pick a staleAuthKey_<id>.p8→ 401). - Poll to VALID:
asc apps builds <APP_ID> --version <BUILD_NUMBER>→ grab the build id onceprocessingStateis VALID. - Beta review contact details:
asc testflight app-review-detail update .... - Submit: find the Public Link group via
asc testflight groups list <APP_ID>, then eithergroups add-build --build-id <BUILD_ID> <GROUP_ID>orapp-review-submissions submit <BUILD_ID>.
This recipe is folded into the "Builds API (CLI)" section of AGENTS.md
under the upload + processing sequence.
4. Process note — DOC-NOTE ✅ SHIPPED
Plan files and any other changes land on a feature branch and go in through a
PR — never a direct commit to development (or main). It's easy to slip when
a change feels like "just docs"; treat the branching rule as unconditional.
See the Git branching workflow section of AGENTS.md.
Status
Closed. Finding #2 shipped as code (testflight CLI tree plus
build-localizations for "What to Test"). Findings #1, #3, #4 are now
doc-notes absorbed into AGENTS.md. The recipe in #3 is the operational
TL;DR for what AGENTS.md already documents command-by-command.