refactor(limrun): drop the unused iOS app-alias seam and stale AX-backend wording

Merged
TH
12h ago
+60-77

Summary

Follows #4224, replaces #4227.

#4224 moved Limrun iOS to the shared XCTest runner, so a few things still described the old element-tree backend. This PR removes them. It changes no behavior: it edits help text, docs and comments, deletes dead code, and removes a duplicate wrapper. 24 files, +60/โˆ’77.

  • Removes resolveAppAlias from the Limrun iOS adapter, which nothing calls any more. Its SDK implementation, fixtures and test go with it, along with the resolveIosAppAlias facade export that only it used.
  • Removes awaitLimrunOperation. Its callers now use the kernel's awaitWithSignal directly.
  • Fixes stale wording:
    • the alert help: Limrun now matches labels in the device's preferred languages too;
    • the settings --app help, type doc and docs: Limrun resolves --app the way a simulator does;
    • the --launch-console refusal message;
    • comments in the alert, fill and snapshot contracts (main's #4182 already fixed the kernel and ios-snapshot ones);
    • the apple-runner entry comment.
#4227 changeMainClass
Limrun, snapshots, capabilities, commands, client-api and debugging docs#4224 has the same or newer texta
host-kit awaitWithSignalkernel awaitWithSignal already exists. Collapsed the wrapper herea + review
Runner products, errors, download, cache waitersmain is newer (typed reasons, shared preparation)a
alert help wording, apple-runner commentstale on mainb (ported)
readInfoPlist in-flight promise cache and pre-abort rejectโ€”c (candidate)
openContainer through simctl get_app_containerโ€”c (candidate)
appState checks the instance before each runner readmain reads the runner first, then falls backc (candidate)
Frozen recovery factsโ€”c (candidate)
readLimrunAppState cleanup, always-true test ternaryalready gone on maina
Kernel snapshot.ts and ios-snapshot.ts Limrun-tree commentsfixed on main by #4182; dropped in rebasea

Validation

pnpm check:affected --run --head f958c63 passed (exactCommit; receipt run-0V3ieL): format, lint, typecheck, layering, fallow, build, vitest-related (1139), unit (1931 files), command-docs, docs-links, docs-prose.

  • A new test in limrun-ios-settings.test.ts pins settings --app display-name resolution through the remote Limrun app list.
  • The earlier apple-platform-output-guard record timeout also failed on unchanged main, so #4060 tracks it; it passed in this run.
  • One earlier unit run at this head had 2 timing failures (daemon-client EOF deadline, surface-host scan timeout). Both pass alone on this head and on main, and the rerun passed.
  • CI owns coverage, Swift and smoke lanes.

The wording changes match the runtime paths: Limrun setSetting runs setIosSetting through the remote tool provider, and the language matching happens inside the runner. No device run is needed because nothing here changes behavior.

๐Ÿค– Generated with Claude Code


Autofix with [code]smith
Open in [code]smith ยท Need help on this PR? Tag @codesmith-bot with what you need.