fix(limrun): isolate recordings with recording session IDs
Summary
Give each Limrun recording its own ID so stopping or cleaning it cannot stop another recorder on the instance. iOS and Android use @limrun/api 0.68.1 recording sessions. Download retries reuse the completed stop result.
Seven files; independent follow-up to #4174. Commands remain agent-device record start capture.mp4 and agent-device record stop.
Related work
This series replaces Limrun iOS AX with native XCTest through shared local paths. Prerequisites #4174, #4194, and #4195 are merged. Shared Apple tools #4213 and this PR remain upstream. Fork drafts track native XCTest integration #1, then sync install/reinstall #2. They need rebasing onto merged prerequisites and fresh live validation; the native integration also needs splitting before upstream submission.
Validation
Base a2c169fa502a53f1f2a1da25b1cd16b9c731af39; tested head ad71d0391615ee336f0157941f473e204cfd0be8.
pnpm check:affected --run --base <base> --head <head> passed with exactCommit: true: 17,139 unit and 245 provider tests; one skipped. Live Limrun Android 15 and iOS 26.4 preserved an external recording through stop, forced download failure, retry and close. Retry reused one URL and sent no second stop. Eight MP4s decoded; instances terminated. Commands, videos and receipts.
GitHub owns device smoke, coverage and provider integration checks not included locally.
![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.