Skip to content

chore: INFRA-216 no-dev-client Maestro safety-e2e gate (e2e-sim EAS build) + corrected docs#129

Merged
MP2EZ merged 2 commits into
developmentfrom
chore/INFRA-216-harden-maestro-safety-e2e-release-target
Jun 5, 2026
Merged

chore: INFRA-216 no-dev-client Maestro safety-e2e gate (e2e-sim EAS build) + corrected docs#129
MP2EZ merged 2 commits into
developmentfrom
chore/INFRA-216-harden-maestro-safety-e2e-release-target

Conversation

@MP2EZ
Copy link
Copy Markdown
Owner

@MP2EZ MP2EZ commented Jun 5, 2026

Closes INFRA-216 (foundation phase β€” reliability tail tracked in INFRA-217)

Fixes the root cause of the flaky Maestro safety-e2e gate. Finding: expo-dev-client is a project dependency, so both npm run ios AND a plain expo run:ios --configuration Release still ship the Expo dev launcher β€” the dominant flake (navigated by a guessed-coordinate tap). Verified: every sim flow hit 0–1/5 on a dev build and on plain Release. Only a build that EXCLUDES dev-client removes the launcher.

What landed

  • eas.json β€” e2e-sim profile (developmentClient:false, simulator:true, Release).
  • scripts/e2e-sim-build.sh + npm run e2e:safety:build β€” EAS local no-dev-client build + install on the booted sim.
  • docs/testing/e2e-maestro.md β€” corrected the false "Release removes the launcher" claim; documented the no-dev-client target, prereqs (eas-cli/fastlane), and the follow-up.
  • (Separately, on _bare: CLAUDE.md Known Gotchas + /b-close Phase 2.5 reconciled to the no-dev-client build.)

Validated

The no-dev-client build boots straight past the launcher (DEVELOPMENT SERVERS β†’ WARNED/skip); a single warm q9 run passes clean end-to-end. The _legal-and-onboarding.yaml flow is intentionally unchanged.

Not done (β†’ INFRA-217)

Consecutive β‰₯5/5 reliability. The slower no-dev-client Release build leaves the long onboarding preamble timing-fragile. The robust fix β€” seed post-onboarding state behind an e2e-sim-profile-only env var so flows skip the preamble β€” is INFRA-217 (with the full state map + compliance gate).

πŸ€– Generated with Claude Code

MP2EZ and others added 2 commits June 3, 2026 20:45
…rected docs

The Maestro safety-e2e gate flaked badly because it ran against a dev-client
build whose Expo dev-launcher the flows navigate by a guessed coordinate tap.
Root finding: expo-dev-client is a project dependency, so even
`expo run:ios --configuration Release` still ships the launcher β€” only a build
that excludes dev-client removes it.

- eas.json: add `e2e-sim` profile (developmentClient:false, simulator:true, Release)
- scripts/e2e-sim-build.sh + `npm run e2e:safety:build`: build the no-dev-client
  sim build via EAS local and install it on the booted sim
- docs/testing/e2e-maestro.md: correct the false 'Release removes the launcher'
  claim; document the no-dev-client target, prereqs (eas-cli/fastlane), and the
  known follow-up

Validated: the no-dev-client build boots straight past the launcher (launcher
steps WARN+skip; single warm flow run passes clean end-to-end). NOT yet
reliable β‰₯5/5 β€” the slower Release build leaves the long onboarding preamble
timing-fragile; the seed-state preamble-skip is the tracked INFRA-216 follow-up.
The `_legal-and-onboarding.yaml` flow is intentionally unchanged here.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@MP2EZ MP2EZ merged commit 22ea02a into development Jun 5, 2026
22 checks passed
@MP2EZ MP2EZ deleted the chore/INFRA-216-harden-maestro-safety-e2e-release-target branch June 5, 2026 03:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant