test(ios): run the shared AX recovery fixture through the runner and characterize its depth memory - #2428
Merged
thymikee merged 1 commit intoSep 9, 2026
Conversation
Size Report
Startup median (7 runs, lower is better):
|
thymikee
added this pull request to stack #2426
September 9, 2026 15:02
Member
Author
|
The production extraction at Resolve the conflict with the updated #2425 and rerun the fixture tests before merging. Merge #2414, then #2425 first. iOS smoke is still running. |
…characterize its depth memory Replay every recovery case of contracts/fixtures/ios-ax-recovery-conformance.json through the runner's real private AX bridge, depth ladder, frontier extension, and completeness verdict, asserting the delivered tree's canonical signature and node count alongside outcome and request accounting. To make that possible RunnerAXSnapshotBridge gains a resolved client/target capture seam and the ladder loop becomes a platform-neutral function; behaviour is unchanged. Add the fixture's hint cases as the runner's accepted-depth memory characterization: each step is a real ladder capture against a client that rejects above the accepted rung, bounded by node budget when the step is not complete and rejected at every depth when it fails, whose observed rejections, accepted rung, and boundedness are asserted before the runner's own learning step records or skips it.
thymikee
force-pushed
the
claude/agent-device-issue-2424-runner-adapter
branch
from
September 9, 2026 15:31
bf0be60 to
0f44265
Compare
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Runs
contracts/fixtures/ios-ax-recovery-conformance.json(#2425) through the XCTest runner's private AX bridge. A Swift unit test replays every recovery case through a fake AX client against the real bridge capture, depth ladder, frontier extension, and completeness verdict, asserting outcome, request accounting, deepest level, and the delivered tree's canonical signature and node count. To make that possibleRunnerAXSnapshotBridgegains a resolved client/target capture seam and the ladder loop becomes a platform-neutral function; behaviour is unchanged.The fixture gains its eight hint cases, executed here as the runner's accepted-depth memory characterization: each step is a real ladder capture (a chain that fits the accepted rung, a longer chain under a node budget of that rung when the step is bounded, or a world that rejects every depth when the step fails) against a client that rejects above the accepted rung; the observed rejections, accepted rung, and boundedness are asserted, and the runner's own learning step runs only after a successful ladder, exactly as in production. The runner keeps learning a lower rung from bounded recoveries and keeps its memory untouched across a failed capture.
Second step of #2424, stacked on #2425; restores the README/ADR wording that the runner adapter exists. Five files, 970 lines.
Validation
Tested head:
0f44265a58.pnpm check:affected --run --base <#2425 head>: every check passed except threepackages/host-kit/src/code-signature.test.tscases, which fail identically on a cleanorigin/maincheckout on this Mac (the fixture root is not realpath'd while the walker realpaths manifests under the/tmp → /private/tmpsymlink); unrelated to this diff, CI's Linux lane is authoritative.pnpm check:xctest-selectionpasses (both tests reach the host lane).testPrivateAXRecoveryMatchesSharedFixtureandtestPrivateAXAcceptedDepthMemoryMatchesSharedFixturepass on an iOS 26.2 simulator throughxcodebuild test-without-buildingon the unit-test build; the macOS host lane is CI-verified (it cannot run on this machine).multi-branch-recovery,host-request-budget,runner-extension-budgetred; stop counting a vanished frontier element as missed →missing-live-elementred. The adapter also caught one mis-simulated expectation on its first run (host-request-budget: four rejected rungs before the 12-level rung).