Skip to content

ci: restore agent-device iOS 26 pointer validation - #101

Draft
thiagobrez wants to merge 15 commits into
mainfrom
ci/restore-agent-device
Draft

ci: restore agent-device iOS 26 pointer validation#101
thiagobrez wants to merge 15 commits into
mainfrom
ci/restore-agent-device

Conversation

@thiagobrez

@thiagobrez thiagobrez commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Restore Agent Device for all five iOS 26 pointer scenarios, preserving semantic destinations and public-outcome assertions. Detox retains Android, accessibility/lifecycle and native iOS multi-selection contracts.

Pin published agent-device@0.21.0, which includes the merged alert-routing fix. Setup opens the scenario link once, accepts its confirmation when present, and verifies the initial outcome. Typed ALERT_NOT_FOUND is allowed; runner errors fail setup. Manual dispatch can build an immutable upstream SHA; local runs accept AGENT_DEVICE_BIN.

Fix the Scenario Lab’s stale initial outcome when resetting a pristine scenario or reopening the same link. A reset now creates a fresh scenario instance, so the parent receives its initial order again. No waits or retries are added.

The exact candidate remains the sole main device gate. Existing whole-job retry limits, runner-cache purge, render backstop, four-engine parity and the latest Pods cache fix are preserved.

Validation:

  • Before the app-reset fix, the complete default-pin matrix passed at 6d1b8a5: iOS 26 on attempt 1, both iOS 27 lanes, Android, all consumers/minimum-runtime checks, 16 shared outcomes across four configurations, and the exact-candidate gate.
  • Current head a6951c298f016ebc440f715a6c8647ace66d0b8a: two reset regressions fail before the fix; all 17 example tests, lint and typecheck pass afterward. The rebuilt Release app passes live repeated links, pristine Reset, a real drag and post-drag Reset on iOS 26.5. Earlier 16 contract/preflight tests passed.
  • The full matrix passes at the current head, using the default published pin: all 13 iOS 26 cases, both iOS 27 lanes, all 14 Android cases, consumer/minimum-runtime checks, shared-outcome parity and the exact-candidate gate. This was workflow attempt 2 after one explicit rerun of failed jobs; iOS 26 also used its existing internal infrastructure retry after an alert timeout. Attempt 1's SDK/runner setup and Android cleanup failures remain recorded.

The original cold-touch PR2362 remains draft: empty-event preparation has not demonstrated an improvement. The successful matrix did not use that proposal. This PR remains draft while cold-start reliability and upstream review are followed up; earlier evidence does not establish an OS-only cause.

thiagobrez and others added 7 commits September 6, 2026 10:23
…ort (#84)

Adds a paste-ready upstream issue draft, an evidence staging script, and a
handoff README for the human filer. The second report listed on #84 (the
dyld/libcurl runner-artifact failure) is dropped as unconfirmed: it occurred
once and the evidence did not support the cache-key theory from #56.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…-device report (#84)

A dispatchable workflow erases and cold-boots the iOS 26.5 simulator on hosted
macos-26 runners, drives the same gesture drag as the device-contract job, and
records whether the app observed it, plus probes that separate a warm-up loss
from an app-instance or a synthesis-path failure.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ld-touch repro (#84)

Reworks the reproduction to classify each synthesized gesture as lost, late,
prompt, or errored by what the app observed, retry transient scenario setup so
fewer iterations are wasted, and emit the delivery-latency distribution plus the
XCTest-coordinate-tap discriminator. Documents run 34025552105: the first
gesture was lost or late in 3 of 7 measured iterations (p90 latency a full 15 s
timeout) while the XCTest tap landed sub-second every time.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Run 34027523634 measured all 12 iterations (0 wasted after the setup retry) and
reproduced the lost/late synthesized gesture independently, p90 delivery latency
at the full wait timeout, XCTest tap landing in 11 of 12.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@thiagobrez

Copy link
Copy Markdown
Owner Author

No changeset needed

@thiagobrez

Copy link
Copy Markdown
Owner Author

No changeset needed

@thiagobrez

Copy link
Copy Markdown
Owner Author

No changeset needed

@thiagobrez

Copy link
Copy Markdown
Owner Author

No changeset needed

@thiagobrez

Copy link
Copy Markdown
Owner Author

No changeset needed

@thiagobrez

Copy link
Copy Markdown
Owner Author

No changeset needed

@thiagobrez

Copy link
Copy Markdown
Owner Author

No changeset needed

1 similar comment
@thiagobrez

Copy link
Copy Markdown
Owner Author

No changeset needed

@thiagobrez

Copy link
Copy Markdown
Owner Author

No changeset needed

@thiagobrez

Copy link
Copy Markdown
Owner Author

No changeset needed

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