feat(limrun): sync local iOS and Android app installs
Summary
Use Limrun app sync for local iOS and Android install/reinstall, including changed binaries. The package now bundles the real delta encoder and its license notices. One session-owned basis cache replaces per-materialization caches; SDK work retains its source until completion. Install-only sync leaves apps stopped, and plain SDK failures receive typed errors. Asset URL installation remains supported.
This follows native XCTest replacement #4224; its own 38-file change uses released SDK 0.69.1. Scope includes replacing an event-loop polling limit in an Apple deadline test after CI mutation jobs exposed the race. GitHub requires this upstream PR to target main, so review the isolated sync diff. Merge #4224 first, then rebase. CLI syntax is unchanged: agent-device install ./MyApp.app or agent-device install ./app.apk in a Limrun session.
Validation
The full affected gate passes at 8f01e5cd7. Head bafbb7556 adds only test cleanup and the deterministic deadline fixture; pnpm check:affected --run --base 8f01e5cd7 --head HEAD also passes. Both receipts have exactCommit: true. The linked mutation evidence covers the fixture change; CI reruns remain authoritative. Receipts, independent review and live evidence compare base a95049b9a, which fails changed-binary installs on both platforms, with the built final runtime. Remote rebuilds, stopped-state checks and installed-content checks pass; captured uploads show 5.7 KB iOS and 1.6 KB Android deltas. The earlier live run also verifies data removal and uninstall. Required GitHub checks remain CI obligations.
![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.