perf: adapt ios runner uptime preflight#662
Conversation
Size Report
Startup median (7 runs, lower is better):
Top changed chunks:
|
5b4d775 to
ef15786
Compare
ef15786 to
ecd4b9c
Compare
ReviewNice evolution of the preflight logic. Turning Notes:
LGTM pending CI and the #666 coordination. Generated by Claude Code |
thymikee
left a comment
There was a problem hiding this comment.
Reviewed current head ecd4b9c26. No blocking code findings.
Coordination note: this PR overlaps with #666 in runner-client.ts/status-recovery helper code. If #666 merges first, please rebase this branch and make sure the skipped-readiness-preflight metadata still flows into the new invalidation-decision shape. I’d prefer merge order #662 first, then rebase #666, because #666’s decision union can then preserve the adaptive-uptime metadata explicitly.
5fea402 to
3361980
Compare
|
Summary
Implement work slice 2 from
docs/ios-runner-protocol-optimizations.md: adaptive iOS runneruptimepreflight policy for hot tap interactions.uptimefor hottap/tapSeriescommands when the runner has a recent successful response.ios_runner_readiness_preflightas the preflight-used diagnostic and emitsios_runner_readiness_preflight_skipped/ios_runner_readiness_preflight_recoveredfor skipped and recovered paths.This PR is now rebased directly on current
main; #661, #663, #665, and #666 are merged, so the diff contains only adaptive-uptime slice changes.Validation
Focused unit coverage passed after the rebase:
pnpm exec vitest run src/platforms/ios/__tests__/runner-session.test.ts src/platforms/ios/__tests__/runner-command-retry.test.ts src/platforms/ios/__tests__/runner-client.test.ts src/platforms/ios/__tests__/runner-provider.test.ts: 4 files, 83 tests.Static validation passed:
pnpm formatpnpm check:quickEarlier simulator validation on
iPhone 17 Pro(C25DBB5B-9254-4293-A8D5-2785C78DE03A) with--session adaptive-uptime-main --state-dir /private/tmp/agent-device-adaptive-uptime-main:ios_runner_readiness_preflightwithreason:"startup", then successful tap send.press 'label="Silent Mode"'. Diagnostics showedios_runner_readiness_preflight_skippedwithreason:"recent_successful_response"and no session invalidation records.Touched files: 4. Scope stayed within the iOS runner client/session module group and focused unit tests.