# Navi Store Build Readiness - 2026-05-05

## Summary

Mobile source now clears the Expo `Constants.manifest` deprecation path by using
`Constants.expoConfig` and `Constants.manifest2` only. Local Android and iOS build
checks pass, and Android APK/AAB artifacts are available for QA.

This is not yet a final App Store or Google Play submission state because Apple
distribution credentials still require interactive EAS setup and Android store
signing/production backend checks are not complete.

## Branch And Commit

- Branch: `wave1/full-platform-demo-access-and-reflection`
- Commit tested: `a0aa698`

## Artifacts

- Android QA APK: `apps/mobile/build-artifacts/navi-release-store-ready.apk`
- Android App Bundle: `apps/mobile/build-artifacts/navi-release-store-ready.aab`
- Local device test APK: `apps/mobile/build-artifacts/navi-local-device-test.apk`

## Checks Run

- `pnpm typecheck`: pass
- `pnpm lint`: pass
- `pnpm test`: pass
- `pnpm build`: pass
- `pnpm --filter @navi/mobile exec expo install --check`: pass
- iOS simulator native build with `xcodebuild`: pass
- Android APK manifest check: pass
- Android APK v1/v2 signature verification: pass with non-fatal META-INF warnings
- Android 4-byte zipalign verification: pass
- Android 16 KB zipalign verification: fail

## Mobile Fixes Applied

- Removed deprecated `Constants.manifest` access from `apps/mobile/src/api/client.ts`.
- Android emulator loopback still maps local API calls from `localhost` to `10.0.2.2`.
- Production EAS mobile builds now use `EXPO_PUBLIC_API_URL=https://api.navi.ae`.
- Android cleartext traffic defaults to disabled for store-style builds.
- Local Android cleartext can be enabled with `-Pnavi.usesCleartextTraffic=true`.

## Store Readiness Blockers

1. Apple TestFlight upload is blocked by EAS iOS credentials. The non-interactive
   EAS build cannot validate distribution credentials yet.
2. Android artifacts are currently debug-key signed locally. Production Play
   upload needs EAS managed credentials or a real upload keystore.
3. Android 16 KB alignment verification fails for native libraries.
4. Production mobile builds point to `https://api.navi.ae`; that endpoint must be
   live and healthy before store testing.
5. The local-device APK must be verified against a LAN or HTTPS API endpoint
   before calling physical-device API flows complete.

## Required User-Side Actions

1. Complete Apple Developer credential setup through interactive EAS or Xcode.
2. Provide or configure Google Play upload signing through EAS or Play Console.
3. Confirm the production or staging HTTPS API URL to use for store builds.

## Recommended Next Commands

```sh
cd apps/mobile
eas build --platform ios --profile production
eas submit --platform ios --profile production
eas build --platform android --profile production
```
