test(ios): expand simulator e2e coverage - #1408
Conversation
|
Size Report
Startup median (7 runs, lower is better):
Top changed chunks:
|
|
Code review is clean at 00632a5: no actionable implementation or regression-test defect found. #320’s fixture-coverage intent is met without deleting the system-app coverage, #1407 remains explicitly owned as a live typed viewport known gap, and the catalog-derived command/behavior manifests point to executable scenario evidence. The production trace/diagnostics changes and fixture artifact reuse flow are coherent. P2 owner action: the PR body must disclose the required touched-file count and scope expansion. This is a 38-file (+2,751/-51) change spanning fixture app, workflows, docs, E2E suites, and two production diagnostics/daemon paths; add that statement before merge. Current-head required checks observed so far are passing, with iOS smoke, Coverage, FreeRange, Linux, and Android still in progress and no failures. The body records a full local simulator run (1/1, 186s); independent live iOS CI evidence is pending. Code review is clean, so |
|
Re-reviewed 2cd3b7a after the latest CI-stabilization delta. No actionable code or test finding remains. The Android helper cache keys include the helper sources, packaging scripts, version, and the exact P2 owner action remains and the numbers have expanded: update the PR body with the required scope disclosure for the current 41-file (+2,836/-78) diff spanning fixture app, workflows/actions, docs, E2E suites, and production diagnostics/daemon paths. This is required before merge. |
|
Re-reviewed 86759f1. P1 test-route failure: The full simulator run at this exact head fails in Replay Nightly run 30231730509, The 27 PR checks are green because they exercise the smoke tier; they do not cover this affected |
|
Exact-head full-tier validation is still red on Also update the PR body with the required large-scope disclosure (currently 42 files, +2,876/-78). |
|
Re-reviewed Readiness is still blocked on live evidence. There is no exact-head Replay Nightly run for The PR body also still needs the required scope disclosure: 49 files, +2,973/-92, expanding from E2E coverage into Apple runner/core orientation contract behavior. |
|
P1 remains on exact head Diagnose why the fixture request does not produce a system permission prompt, assert the app-visible permission result on the no-prompt path, and rerun the exact-head full tier through a passing permission denial/reset/recovery cycle. Keep |
|
P1: No exact-head Replay Nightly or iOS smoke/full evidence exists yet for the replacement route. GitHub also reports the branch conflicting/dirty against merged main; update the branch and rerun the required checks/full tier. The PR body scope disclosure remains missing and is now 51 files, +3,157/-96. |
4ca3c90 to
a2e5cd6
Compare
|
Two P1 blockers remain on the exact head:
The PR body also needs the required scope disclosure: 51 files, +3,158/−96. |
|
Re-review of
Ordinary checks are green and GitHub reports CLEAN/MERGEABLE; |
|
Re-reviewed exact head |
|
Re-reviewed exact head
|
|
Re-reviewed exact head |
1068274 to
9f90a98
Compare
|
P1: setup-fixture-app restores the newest non-expired repository artifact by fingerprinted name alone, then unpacks and executes it. The producer workflow’s fork guard does not establish consumer trust: the repository artifact query does not verify that the selected artifact came from the designated Test App Build Cache workflow/run or same-repository provenance. Filter candidates to a trusted producer/run and repository identity before download; otherwise take the safe inline fallback. The latest commit correctly removes the superseded ios-system-ui waiver, so that prior deterministic Coverage failure is addressed, but exact-head Coverage and iOS/device evidence are still pending; the successful full live run cited in the PR is from an older head. Also refresh the stale scope/validation disclosure (current base-to-head scope exceeds the stated 59 files). The registry-derived coverage manifest itself is structurally sound and honestly owns the #1407/#320 gaps. |
|
Re-reviewed exact head
Filter/select candidates through the trusted producer run (and reject ambiguity/untrusted provenance), then fall back inline when no trusted artifact is available. Add a collision regression proving an untrusted same-name artifact cannot be restored, plus exact-head producer/consumer evidence. The queued-producer fallback itself is correctly added and covered. Current PR checks, including Coverage and the macOS fixture E2E smoke, are green, but they do not validate this provenance boundary. |
|
Updated review at
|
|
P1 — The latest wait/scoped snapshot fixes the prior sparse home observation, but the next navigation assertion is vacuous: after clicking |
|
Re-reviewed |
7756367 to
44b51cf
Compare
|
Re-reviewed current head The PR is still not ready because the previously confirmed P1 fixture-artifact provenance blocker remains unchanged: GitHub now reports the branch mergeable; fresh exact-head CI is queued/running, but this review is not waiting for CI and the provenance finding independently blocks readiness. |
44b51cf to
4976aec
Compare
5f15ddc to
4f55910
Compare
|
The latest iOS Smoke failure exposed a real Apple runner bug rather than a reason to add another E2E fallback.
Local evidence at |
|
Re-reviewed exact head 2887483. The deep-link confirmation delta is clean: Open is classified through the existing affirmative alert path, the targeted XCTest pins that behavior, and the fixture E2E now asserts the actual runner response shape before exercising alert accept. Static, unit, integration, coverage, fallow, format, and Swift compatibility checks are green; iOS Smoke is still running the decisive targeted and live checks. Code review is clean and ready for human review. |
|
Exact-head CI evidence at 2887483:\n\n- iOS Release built and published the canonical trusted fixture artifact successfully in 17m50s.\n- iOS Smoke fetched that artifact successfully; no inline fixture build was used.\n- Targeted Apple runner regressions passed, including testAlertAcceptTreatsOpenAsAffirmative.\n- Public CLI preflight and Settings replay passed.\n- Fixture-backed iOS simulator E2E passed in 1m50s, including the deep-link confirmation alert accept and exact catalog destination.\n- Host-focus preservation and artifact upload passed.\n- Android Release built and published its canonical fixture artifact successfully; its cold Gradle build completed in 25m52s.\n\nAll exact-head PR checks are green. Review is clean with no outstanding actionable comment. |
Summary
This PR turns the iOS simulator test app into a durable end-to-end proving ground for the public agent-device surface. It adds catalog-complete command ownership, realistic cross-command journeys, and a smoke/full tier split so pull requests get fast confidence while expensive lifecycle and artifact cases remain comprehensive.
Test coverage added
Project bugs fixed
The new journeys exposed and now pin regressions for:
Fast, reusable CI
Scope: 74 touched files (+4,538/-390) across the fixture app, CI workflows/actions, simulator E2E suites, documentation, provider tests, recording/diagnostics, scroll recovery, and Apple runner behavior. The scope deliberately expanded beyond the original test suite because the live tests uncovered production defects and required trustworthy, reusable native-build infrastructure.
Tracks #320: the remaining live system permission-prompt accept/dismiss/recovery journey stays explicitly owned there; this PR does not claim to close it.
Tracks #1407 for the admitted iOS viewport backend gap.
Validation
Exact-head validation at 2887483 is fully green:
No residual CI failures or actionable review findings remain.