ci(conformance): keep engine diagnostics from the iOS differential

Merged
TH
2d ago
+20-0

Summary

Diagnostics only. The iOS Conformance Differential has been red since 10-17 with three signatures:

  1. open-inert-surface under the tab bar: nightly since 10-18 (head 4a8abed7b9), from #3786. Fixed by #3993.
  2. launchApp clearState → simctl terminate exceeds 15s: intermittent since 09-18 (7 nights).
  3. Maestro driver startup timeout: intermittent since 09-12 (7 nights; 4 coincide with 2).

Signatures 2 and 3 left no evidence. This turns on the exec trace (AGENT_DEVICE_EXEC_TRACE, as in #3846) and uploads daemon/session diagnostics and Maestro's per-run log via the shared upload action. One workflow file; no runtime or assertion change. Follow-up: one issue for 2 and 3, acted on at the first traced recurrence.

Refs #3944

Validation

Head d3a22bec51 (comment-only change after 7f00f337ed, which the dispatches ran).

  • Locally on an iPhone 17 sim (iOS 27.0): main fails both inert-surface steps, as CI does; with #3993, 6/6 pass and all invariants hold.
  • Dispatch 40684697766: red on signature 1 only. Artifact conformance-differential-ios-diagnostics is 1,223,118 bytes and contains:
    • 16 ~/.maestro/tests/** files, e.g. .maestro/tests/2026-10-28_122045/maestro.log;
    • 21 sessions/** files with exec_command events (147–805 per flow).
    • In it, the 15s-bounded terminate took ≤0.7s.
  • Dispatch with #3993 40684703108: green, 6/6.
  • Traced vs untraced replay-timing: no measurable effect. The traced green run totals 114.6s against 148.0s for untraced 38855041693, within run-to-run noise.
  • pnpm check:affected --run --head d3a22bec51: passed, exactCommit=true.

šŸ¤– Generated with Claude Code