You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A tracking issue for a simplification and correctness audit of the Apple side: packages/platform-apple (about 32k lines of production TS) and apple/runner (about 17.5k lines of Swift plus ObjC bridges), at 01328de411.
Method:
Four read-only audits applied community Swift skills: AvdLee and twostraws Swift Concurrency and Swift Testing, the Swift API Design Guidelines, and jazzychad's ios-code-audit.
A second model cross-reviewed every finding against the code.
The top claims were spot-checked by hand.
Findings refuted in review are not filed here.
Verdict: the core machinery earns its complexity: runner lifecycle, lease detach/adopt, recycle ledger, readiness preflight, command journal, three-tier snapshot plan, and the private-AX ladder pinned by conformance fixtures. The waste sits at the edges. Removing it cuts about 1–1.5k production lines, and moving the inline tests (#2792) takes about 3.9k lines out of production Swift files.
Each child issue is one PR (or a small series of pure-move PRs) inside one module group.
The runner's private-AX tier, about 1.4k lines. It could go only if the host bridge learns to read custom actions, and removing it weakens recovery while the bridge circuit is open.
Purpose
A tracking issue for a simplification and correctness audit of the Apple side:
packages/platform-apple(about 32k lines of production TS) andapple/runner(about 17.5k lines of Swift plus ObjC bridges), at01328de411.Method:
Findings refuted in review are not filed here.
Verdict: the core machinery earns its complexity: runner lifecycle, lease detach/adopt, recycle ledger, readiness preflight, command journal, three-tier snapshot plan, and the private-AX ladder pinned by conformance fixtures. The waste sits at the edges. Removing it cuts about 1–1.5k production lines, and moving the inline tests (#2792) takes about 3.9k lines out of production Swift files.
Each child issue is one PR (or a small series of pure-move PRs) inside one module group.
Bugs (ready-for-agent)
simctl spawncalls #2784simctl spawnmissing--set(AX bridge, fold)-Werror; fold recompiles every callCuts (ready-for-agent)
.continuousdrag profile #2790 Dead.continuousdrag profilebackwire command, and unreachable paths #2791 Dead env knobs,backcommand, unreachable paths--setbuilder and state parser (after fix(ios): pass the scoped simulator set to the AX bridge and foldsimctl spawncalls #2784)Decided 2026-09-23 (codex cross-check + code verification), now ready-for-agent
--device-hub(plain removal, not treated as breaking)--fullscreenfor macOS desktop/menubar helper surfaces; keep it for app sessions'\n'runMainThreadWork; screenshots are already boundedtreepinAlready tracked elsewhere
#2662 covers runner-session cleanup: the response decoder, a state enum, and the curl-through-simctl transport.
Measure before acting (not filed)
runner/runner-client.ts:42-56. It predates the recycle ledger (Runner resilience under agent-abuse command patterns #1105).Suggested order
simctl spawncalls #2784, fix(ios): physical-device install lost devicectl hints; delete the dead install/uninstall/push paths #2785 and fix(ios): runtime clang builds must not use -Werror; cache the fold helper build #2796..continuousdrag profile #2790 and chore(ios-runner): remove env knobs nobody sets, the deadbackwire command, and unreachable paths #2791.