feat(limrun): replace iOS AX automation with the shared XCTest runner
Summary
Tracking copy of upstream #4224, now open for review.
Replace Limrun iOS AX automation with the native agent-device XCTest runner, deployed to the simulator and reached through Limrun HTTP forwarding. Snapshots, interactions, app lifecycle, settings, and file operations use shared Apple execution paths so the same tests work locally and remotely. Existing commands remain unchanged.
This completes the integration following #4213 and #4196. The 116-file diff contains about 5,100 additions and 5,300 deletions, largely replacing the AX implementation and its tests. Keeping the replacement in one PR makes the switch atomic and avoids a temporary mix of AX and XCTest behavior. Local app sync installation follows separately in #4225.
Validation
Rebased on 4abff15e; tested head 0ae3dc2a41de9f17743bb3f04eab91f516482a9f. Validation receipts and live evidence record the full gate, final affected checks, independent review, and fresh Limrun iOS execution: snapshots, tap/fill, app-state reads, logs, concurrent recordings, push, clear-state, screenshot, and deep-link ownership. The remotely built runner uses unchanged Swift sources.
A reused simulator hit XCTest snapshot timeouts; a fresh instance passed (both logs linked). Required GitHub device/coverage lanes remain CI obligations; no fresh physical-phone run is claimed.
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.