← back to dashboard

SumRaceKids — fleet issue

Status (one line, 2026-06-12 doctor run): Still unhealthy — App Store version 1.0.0 (build 1) remains REJECTED / review state UNRESOLVED_ISSUES (submission 176858f9-10c6-480c-8830-88107225bb47, asc-review sync 2026-06-11T20:30:04Z); not auto-healed because clearing a human App Review rejection is not automatable (fixable=false, autoHeal=true; verify verdict: {"app":"SumRaceKids","isRealFix":false,"confidence":"high","reasoning":"No fix attempted"}). A Resolution Center reply was sent 2026-06-10 — still waiting on Apple (day 2); no code change or rebuild needed yet. Failing check: Latest review submission has unresolved issues in App Review (state/asc-review.jsonapps.SumRaceKids.checks[0]).


*Previous update (2026-06-11):*

Status (one line, 2026-06-11 doctor run): Still unhealthy — App Store version 1.0.0 (build 1) remains REJECTED / review state UNRESOLVED_ISSUES (submission 176858f9-10c6-480c-8830-88107225bb47, asc-review sync 2026-06-10T20:19:37Z); not auto-healed because clearing a human App Review rejection is not automatable (fixable=false, autoHeal=true; verify verdict: {"app":"SumRaceKids","isRealFix":false,"confidence":"high","reasoning":"No fix attempted"}). A Resolution Center reply was already sent on 2026-06-10 (see below) — currently waiting on Apple; no code change or rebuild needed yet. Failing check: Latest review submission has unresolved issues in App Review (state/asc-review.jsonapps.SumRaceKids.checks[0]).


*Previous update (2026-06-10):*

Status (one line): ✅ Replied to App Review on 2026-06-10 at 23:30 (UTC+8) / 15:30 UTC — now waiting for Apple's response. The rejection was Guideline 2.1 (Information Needed) re: Guideline 1.3 (Kids Category): Apple asked four questions (third-party analytics? third-party ads? data sharing? any other data collection?). Reply sent via App Store Connect Resolution Center answering "no" to all four (app is fully offline, no third-party SDKs, no data collection — verified against source). No code or binary change needed; build 1 stays as-is. ASC state will remain REJECTED / UNRESOLVED_ISSUES until App Review processes the reply (typically 1–2 days).


*Original triage note below (pre-reply, 2026-06-09):*

Status (one line): Unhealthy because App Store version 1.0.0 (build 1) is REJECTED with App Review state UNRESOLVED_ISSUES; not auto-healed because clearing a human App Review rejection requires reading the reviewer's message and acting in App Store Connect — the binary is VALID and there is no build/archive/upload defect to fix, so the doctor took no action (Not auto-healing (fixable=false, autoHeal=true); verify verdict isRealFix=false / "No fix attempted", confidence high).

Root cause & evidence

The build/upload pipeline is healthy — the blocker is downstream, in App Review. The submitted binary reached App Store Connect as a VALID build (state/asc.jsonSumRaceKids: latest_build_state: "VALID", latest_build_number: "1", build_count: 1, uploaded 2026-05-27T07:23:02-07:00). A rebuild cannot clear a reviewer rejection, so re-running the pipeline is pointless — this is why fixable=false.

Failing log line (from state/asc-review.jsonapps.SumRaceKids, generated_at: 2026-06-09T20:30:02Z):

Latest review submission has unresolved issues in App Review

Full blocking check object (state/asc-review.jsonapps.SumRaceKids):

{
  "reviewState": "UNRESOLVED_ISSUES",
  "nextAction": "Resolve the outstanding App Review issues in App Store Connect, then resubmit if needed.",
  "summary": { "errors": 1, "warnings": 0, "infos": 1, "blocking": 1 },
  "checks": [
    {
      "severity": "error",
      "message": "Latest review submission has unresolved issues in App Review",
      "remediation": "Resolve the outstanding App Review issues in App Store Connect, then resubmit if needed.",
      "field": null
    }
  ]
}

Why auto-heal could not act: the fleet doctor only auto-heals build/archive/upload/signing regressions. An App Review UNRESOLVED_ISSUES / REJECTED decision is a human reviewer outcome with no automated remediation path. The matching workflow diagnosis was Not auto-healing (fixable=false, autoHeal=true), and the verify step returned {"app":"SumRaceKids","isRealFix":false,"confidence":"high","reasoning":"No fix attempted","risks":""} — i.e. the doctor correctly attempted no fix.

Corroborating state:

This issue file documents the blocker; no app code was changed and nothing was uploaded (per the doctor's no-touch policy).

Claude-ready fix prompt

This is an App Review rejection — do NOT blindly change app source and do NOT blindly bump/rebuild to "clear" it. The build (build 1) is already VALID; rebuilding will not move it out of UNRESOLVED_ISSUES. Read the actual rejection reason first, then act.

  1. Read the rejection. In App Store Connect → My Apps → "Sum Race Kids" (asc_id 6773766461, bundle com.zhouzhengxi.sumgame) → App Review → Resolution Center. Capture the exact reviewer message and the cited Review Guideline. For a kids' math game that is a WKWebView wrapper around bundled HTML/JS, the most likely causes are:
  1. Classify the rejection into metadata/console-only vs. a real build change:
  1. Archive, export, and upload the new build (only if step 2 produced a code change). From /Users/zzxwill/Programming/go/src/zzxwill/apple-apps/apps/SumRaceKids/:
  1. Resubmit version 1.0.0 (with build 1 if metadata-only, or the new build 2 if rebuilt) for review from App Store Connect. This moves the version out of UNRESOLVED_ISSUES / REJECTED.
  1. Enroll in the fleet pipeline (recommended). This app is missing from state/fleet.jsonapps, so the doctor can only see its ASC state, never its build/commit health. Add a SumRaceKids entry (mirror the shape of an enrolled app such as SynCal) and ensure /Users/zzxwill/Programming/go/src/zzxwill/apple-apps/apps/SumRaceKids/.fleet/config.sh is wired up, so future runs can pipeline it.
  1. Re-sync ASC truth after any change so state/asc.json, state/asc-review.json, state/asc-live.json, state/fleet.json, and state/dashboard.html reflect the new state (run the fleet asc-sync + dashboard steps). The blocking review check should then clear.

Relevant paths (all absolute):

Last known-good build number

From state/asc.jsonSumRaceKids: build 1 (latest_build_number: "1", latest_build_state: "VALID", version 1.0.0, uploaded 2026-05-27T07:23:02-07:00). This is the last (and only) build that reached App Store Connect as a VALID binary. The rejection is at the App Review layer, not the build, so build 1 is the last known-good build. If a code fix is required to address the reviewer, the next build should be 2 (CURRENT_PROJECT_VERSION = 2).