# EAS Setup Agent Report

**Branch**: `feat/eas-setup` (PR #197)  
**Date**: 2026-04-26

## Status: ✅ Ready to merge

---

## What Was Done

### Task 1 — eas.json fixes (commit `3bbb8c1f`)
- `staging` profile: `distribution: "internal"` → `"store"` (TestFlight/Play Store)
- `development` profile: added `channel: "preview"` so dev builds listen to the EAS preview channel
- Added `submit.staging` with ASC key (iOS TestFlight) + Android internal track

### Task 2 — Preview iOS credentials uploaded to expo.dev (commit `5e485e1c`)
- Distribution certificate `U38L2Y988R` uploaded → expo.dev ID `276f2309-95bc-4c42-913b-e1ff54864a3b`
- Ad-hoc provisioning profile `873Z2CQK7U` uploaded → expo.dev ID `66e71c42-7eef-4470-ab4a-c1c01938c6e1`
- Linked as `IosAppBuildCredentials` (AD_HOC) for `ai.nanostreet.app.preview`
- `credentialsSource: "local"` → `"remote"` in preview profile (no longer needs `.eas-creds/` locally)
- Device registered: Fathoni iPhone UDID `00008110-001C5D5234D9801E`

### Task 3 — Staging/Production credential verification
All profiles confirmed to resolve correctly via `eas config`:

| Profile | Bundle ID | Distribution | Credentials |
|---|---|---|---|
| `development` | `ai.nanostreet.app.dev` | internal (ad-hoc) | remote — EAS auto-manages via ASC key |
| `preview` | `ai.nanostreet.app.preview` | internal (ad-hoc) | remote — uploaded cert+profile ✅ |
| `staging` | `ai.nanostreet.app.preview` | store (TestFlight) | remote — EAS auto-manages via ASC key |
| `production` | `ai.nanostreet.app` | store (App Store) | remote — EAS auto-manages via ASC key |

Staging, production, and development credentials are auto-managed by EAS using ASC API key `B55Z7M9TJ8` — no manual generation required.

---

## Remaining Manual Steps (none blocking PR merge)

- `.eas-creds/` folder still exists locally but is gitignored — safe to delete after confirming a preview build works remotely
- Run `eas build --profile preview --platform ios --non-interactive` once to confirm remote credential flow works end-to-end

---

## PR #197 Commits
1. `7186efcb` — app.config.js with dynamic bundle IDs per APP_ENV
2. `2abf9182` — appVersionSource + ITSAppUsesNonExemptEncryption
3. `930f9037` — ascApiKeyPath wired for iOS submit
4. `934e3b92` — initial local credentials setup (superseded)
5. `3bbb8c1f` — staging→store, dev channel, submit.staging
6. `5e485e1c` — preview switched to remote credentials
