perf: speed up iOS agent recovery and streamline CLI guidance - #1700
Conversation
Size Report
Startup median (7 runs, lower is better):
Top changed chunks:
|
|
Exact head b1d9f3a is not ready. P2: the new blocked-target branch in resolveNodeTouchPoint hardcodes |
|
Exact-head re-review at |
|
Exact-head re-review at There is also a new behavior blocker in the penalized-XCTest optimization: coordinate press skips The sparse-tree classifier itself looks correct, but its new Swift coverage and the probe test are absent from CI's explicit |
|
Addressed all review findings in
Red proof: the new selector contract failed against the previous resolver because it returned Validation: serialized Node 24 affected gate passed (424/424 files, 4,138/4,138 tests), changed-line coverage 84/85 (98.82%), plus build/package/provider/Node integration/progress/replay-compat. The earlier timeout-only Coverage failure has therefore been rerun green locally; GitHub checks are restarting on the pushed head. The PR title now has the conventional |
|
Addressed the remaining exact-head feedback in
Red proof: against the pre-fix implementation, the exact simulator test returned Green proof: the three selected runner tests passed on the simulator (3/3, 0 failures); the exact test used I also tried the now-allowed two-worker unit setting. It reproduced the documented |
|
Exact-head re-review at One P1 target-safety blocker remains. The exact-head iOS failure is substantive, not the prior alert-wait infrastructure flake: |
|
Addressed the three follow-up review findings in
Red evidence:
Expanding the geometry property generator to thin desktop axes also found a half-pixel clipping edge: rounding could move a candidate outside the effective viewport bound. That shrunk counterexample is now pinned, and rounded candidates outside the search rect are rejected. Validation: the required affected gate passed with 424/424 files and 4,141/4,141 tests; changed-line coverage is 93/94 (98.94%), with build, package, provider integration, Node integration, progress, and replay-compat checks green. Two workers reproduced the documented replay-scope 5s contention timeout, so the authoritative push gate was rerun serialized and passed. |
|
Exact-head re-review at The Apple text-entry P1 is unchanged—the new commit does not touch that implementation. The authoritative targeted XCTest lane again proves it: The red Coverage job is separate known infrastructure noise: all 6,178 tests passed with no failed assertion before |
|
iOS follow-up is pushed.
Docs/skills were not changed for this bug: the unsafe path was unreleased and removed, while skills remain thin routers to CLI help. |
5a0840b to
df7002c
Compare
|
Post-rebase validation update: rebased cleanly onto current |
|
|
Exact-head review at The prior bare-type P1 is fixed: a penalized coordinate tap cannot mint an unresolved first-responder witness, and the authoritative iOS lane now executes the live stale-responder/non-text-coordinate regression. Parent-owned touch-point selection/refusal now has complete ADR 0011 classification, runtime selector/ref/drag contracts, and load-bearing geometry/permutation properties; direct iOS/Maestro gaps remain explicitly owned by #1718. All completed checks are green. Residual note, not a #1700 finding: coordinate |
Summary
@refand~sNsyntaxThese are generic interaction and agent-guidance changes. Product code and help contain no benchmark task, app, or model-specific strings.
Review expanded the original interaction/help scope into its owning ADR 0011 guarantee classification and geometry property coverage. The final PR touches 34 files but does not add another product command family.
Validation
pnpm check:affected --base origin/main --head HEAD --runon Node 24 with unit tests serialized (maxWorkers: 1during validation)AGENT_DEVICE_XCUITEST_INCLUDE_UNIT_TESTS=1 pnpm build:xcuitest:iospassedRef @e2; it now preservesSelector label=Card,details.selector, and omitsdetails.refparentOwnedTouchPointguarantee classifies all seven dispatch paths; runtime selector/ref/target-drag cells have contract scenarios, while direct-runner gaps are explicit and issue-ownedLocal Bluesky results use the same app/model setup and correct final states. Repeats are reported in full rather than selecting the fastest result; the sample is exploratory (
n=2for fixed agent-device,n=1for local Argentbsky-09).bsky-06bsky-09Across the four fixed repeats, median time is 57.8s versus 500.9s for the two original outliers (88.5% lower). On the directly comparable
bsky-09lane, the two-run agent-device mean/median is 49% lower than the single local Argent run. A no-skill Element check also completed correctly in 41.7s / 6 tools.The outliers came from three compounding generic failure modes: a parent ref could activate a child-owned region, shell-only accessibility output looked healthier than it was, and guidance did not move the model to visual coordinate recovery quickly enough. The compact default help and skill now present the same first-screen workflow; the skill remains primarily a discoverability entry in registries such as skills.sh.
Benchmark setup ran
doctorto prepare the documented runner cache. Benchmark-runner setup and prompt experiments are intentionally excluded from this product PR. Native/device CI lanes remain GitHub-authoritative.