Skip to content

[iOS 1.0] Establish the mobile release baseline and reproducible native iOS configuration #40

Closed

Description

@HemSoft

Outcome

The existing apps/mobile/package.json exports JavaScript but does not establish a signed native release. The working checkout also contains uncommitted redesign, rule, and offline-engine changes; these must be reviewed and landed deliberately, not assumed to exist on remote main. The mobile configuration references icon/splash assets that are absent from the current mobile folder.

Release tracker: [iOS 1.0] First App Store release tracker

Acceptance criteria

  • Review and land the relevant shared-engine/offline/rule changes in bounded commits, preserving unrelated work. Record the accepted base commit for iOS work; do not create another repository or duplicate the TypeScript rules in Swift.
  • Audit the installed Expo/React Native/native module compatibility and select a supported native generation strategy. Document whether generated iOS files are committed or regenerated, and preserve native settings through that chosen workflow.
  • Configure the approved bundle identifier, display name, iPhone/iPad support, orientations, deployment target, URL schemes only if needed, and minimal entitlements. Keep Android and the existing desktop/web builds working.
  • Introduce iOS-specific version/build numbering without bumping the unrelated Windows release. Provide development, simulator, and production build profiles, using EAS or a documented macOS/Xcode equivalent.
  • Establish clean-checkout native generation and build commands and record their initial results. Track missing artwork in the assets issue and the runtime Convex removal in the offline issue. This foundation issue does not claim a working offline or signed release before those dependencies are implemented.

Dependencies

Validation and completion

Record native configuration/generation commands, toolchain versions, and base commit. Verify workspace resolution and typechecks, and link any native-build blocker to its implementation issue. Successful native launch/archive qualification belongs to the build and TestFlight issues; Expo export does not prove it.

Record the exact source revision, commands/artifacts, or sanitized App Store evidence as appropriate. Keep credentials and private contact/identity details out of this issue. Implementation changes must pass affected repository gates and receive review.

References

Activity

  1. added this to the iOS 1.0 milestone on Sep 27, 2026
  2. added
    enhancementNew feature or request
    iosiPhone and iPad app work
    app-storeApp Store release preparation and submission
    on Sep 27, 2026
  3. HemSoft commented on Sep 27, 2026

    @HemSoft
    CollaboratorAuthor

    The existing dirty checkout is now preserved and under review in #55. It includes the shared rules/offline baseline and desktop/web work, qualified on the newly merged dependency baseline with Bun 1.4.2. This is partial foundation work, not a claim that iOS naming, native configuration, or signed builds are complete.

  4. HemSoft commented on Sep 27, 2026

    @HemSoft
    CollaboratorAuthor

    Mission completion blocker

    The owner-approved public name/bundle identity required by #39 before final native release configuration.

    Evidence and two self-serve paths checked:

    1. Preserved, requalified and submitted the existing shared rules/offline/UI work in PR feat: land shared rules, modern desktop UI and offline Windows baseline #55 rather than losing or assuming it was on main.
    2. Inspected the current mobile app.json and [iOS 1.0] Confirm first-release scope, public name, and brand rights #39 approval record: the development identifier uses the unresolved trademark. Keeping it or inventing a replacement does not satisfy the required approved identity.

    Safe default: Land the reviewed shared baseline. Do not reserve or present a provisional bundle identifier as the accepted App Store identity.

    Owner action: Resolve #39's public identity decision. Native configuration/generation work remains after that decision; no native foundation completion is claimed.

    This is a blocker to this issue's full acceptance contract, not a claim that its unfinished implementation is complete. Repository-only preparation continues through the linked PRs; this issue stays open.

  5. HemSoft commented on Sep 27, 2026

    @HemSoft
    CollaboratorAuthor

    The shared baseline in #55 is merged at 6f62024. This includes scoring-version compatibility, qualified desktop/web presentation and the separate portable Windows edition. Native configuration is not yet complete. Repository implementation continues with asynchronous offline native state and an unsigned hosted-macOS simulator route; no owner branding, account or physical-device approval is being inferred.

  6. HemSoft commented on Sep 27, 2026

    @HemSoft
    CollaboratorAuthor

    Repository implementation continues in PR #57. The first hosted macOS run compiled and packaged an unsigned iOS Release app with Xcode 26.6 and SDK 26.5. The actual bundle contains version 1.0.0/build 1, minimum iOS 17.0, both device families and an embedded JavaScript bundle. The artifact includes the app, metadata, logs and generated dependency lock.

    The first simulator boot exceeded its three-minute limit before any UI test. The generated lock has since been inspected and committed. The next run uses deployment-mode installation and a bounded ten-minute first-boot allowance with retained output. Its Windows, Linux and mutation jobs pass. Connected Codex also completed a clean review of beff6ec.

    This supersedes the earlier absence of a native build route. It does not prove native interactions, physical-device behavior, signing or release acceptance. Public identity and owner release decisions remain unset. The PR is still awaiting native qualification and current-head images.

  7. HemSoft commented on Sep 28, 2026

    @HemSoft
    CollaboratorAuthor

    PR #57 now compiles one Release simulator app and qualifies four required device groups against that same source-bound artifact.

    The build on bc040c0 passed its reviewed CocoaPods lock, native compilation and privacy-resource checks. Native setup and byte-identical restart/resume have now run on iPhone 17 and iPad Pro 13-inch. The full interaction matrix is still failing and is not release evidence.

    The latest trace exposed an unsafe test-driver action: Maestro's keyboard dismissal swipes started a default game on iPad instead of merely dismissing the keyboard. Source 027459f2d4f6a8a23215aeab66330bd8f008a55c submits Return instead, explicitly resumes before completion, checks scoring acknowledgments and retains more driver evidence. It also repairs reset commit ordering found by Codex and supplies the navigation theme explicitly. Fresh qualification is running.

    Local checks passed 215 tests, 1,450 assertions, ten client journeys and 29 tooling tests, with unchanged quality thresholds. Codex reviewed this head without major findings. Current-head native completion, both themes and largest-text confirmation remain required. No signing, device or release approval is implied.

  8. HemSoft commented on Oct 1, 2026

    @HemSoft
    CollaboratorAuthor

    Updated acceptance blocker, October 1, 2026 EDT

    This supersedes the September 27 preimplementation assumptions. Native local saves/resume/UI, original development assets, unsigned CI and packaged privacy inspection are now delivered. The static companion site is prepared but unpublished. Screenshot and release/reporting preparation exists in the open PRs, not as accepted store material.

    Native foundation #57 and postmerge delivery, unpublished site #58, draft capture preparation #61, and draft release/reporting preparation #62. The last two PRs remain open; connected review capacity was explicitly refused on #61 and on #62. No purchase or substitute reviewer was used.

    Remaining need: Approved public display/bundle identity and accepted release configuration, dependent on issue #39.

    Two self-service paths checked:

    1. Merged shared baseline PR #55 and native PR #57. Clean hosted macOS generation, supported Expo57/RN0.86, reviewed CocoaPods deployment lock, iPhone/iPad support, automatic orientation/appearance and proposed1.0.0/build1/minimum17 passed source-bound unsigned compilation.
    2. Re-read issue39 and native configuration/draft candidate. Public identity is unapproved and actual bundle/app ID fields remain null. Reusing development identifiers does not establish release acceptance.

    Safe reversible result: The reproducible unsigned macOS/Xcode route is delivered. Local Windows is no longer described as a native-build hard block. Do not reserve an unapproved App Store identity.

    Exact owner action: Resolve issue #39's public identity and authorize the exact production app configuration. No new app record or signing identity will be inferred.

    This issue remains open. Simulator, browser, fictional-fixture and unsigned evidence do not replace signed physical-device or legal/publication acceptance. CI waits and driver failures are still engineering work, not the owner block stated above. No credentials, private contacts or legal declarations are requested in this public issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    app-storeApp Store release preparation and submissionenhancementNew feature or requestiosiPhone and iPad app work

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions