Skip to content

perf: recover iOS runner responses by status#661

Merged
thymikee merged 5 commits into
mainfrom
codex/ios-runner-status-recovery
Jun 2, 2026
Merged

perf: recover iOS runner responses by status#661
thymikee merged 5 commits into
mainfrom
codex/ios-runner-status-recovery

Conversation

@thymikee
Copy link
Copy Markdown
Member

@thymikee thymikee commented Jun 2, 2026

Summary

Add status-before-invalidate recovery for iOS runner post-send transport failures. The daemon now probes status(commandId) before invalidating a session, recovers retained small responses, preserves runner failure code/message/hint fidelity, and refuses unsafe replay when lifecycle status says a mutating command may already have completed or is still in flight.

Add a protocol optimization roadmap with acceptance criteria and iOS simulator validation for follow-up work: adaptive uptime preflights, status-visible transport, invalidation reduction, and response retention tuning.

Part of #656. Touched 6 files; scope is iOS runner recovery plus the roadmap doc, with accepted formatter-only Maestro changes kept in the branch.

Validation

Verified with the focused iOS runner retry suite, the iOS runner client/session/retry/provider unit bundle, pnpm typecheck, pnpm format, pnpm build:xcuitest, and pnpm build.

Manual iOS simulator smoke used an isolated status-recovery-smoke state dir: opened Settings, ran snapshot -i, clicked the visible window ref, ran another snapshot -i, and closed the session. The daemon log showed the expected runner start, Settings activation, snapshot, tap, and snapshot flow with no unexpected invalidation or restart markers.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

Size Report

Metric Base Current Diff
JS raw 1.1 MB 1.1 MB +3.0 kB
JS gzip 360.8 kB 361.7 kB +825 B
npm tarball 463.7 kB 464.5 kB +784 B
npm unpacked 1.5 MB 1.5 MB +3.0 kB

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 24.0 ms 24.1 ms +0.1 ms
CLI --help 39.3 ms 37.9 ms -1.4 ms

Top changed chunks:

Chunk Raw diff Gzip diff
dist/src/2415.js +3.0 kB +825 B

@thymikee thymikee merged commit 57cd3f3 into main Jun 2, 2026
18 checks passed
@thymikee thymikee deleted the codex/ios-runner-status-recovery branch June 2, 2026 02:26
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-06-02 02:26 UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant