fix(desktop): count only UI-opening AX actions as delivered on timeout, drop unused contract target

Merged
WA
24d ago
+5-5

Summary

  • perform_action treated an Accessibility timeout (cannotComplete) as delivered for every action. Now only actions that open UI and hold the app's reply while it is up (AXPress, AXPick, AXShowMenu) count as delivered; any other action that times out fails as uncertain, as before #9084. In two 84-task benchmark runs, the only non-press actions that timed out were AXShowMenu (2 of 7 calls); both had opened their menu.
  • The browser observe allowlist comment no longer claims every page action accepts observe (browser_upload_file and navigation do not).
  • Drops the unused WindowTarget from the synced computer-use contract copies. This pairs with the worker change, where it fails noUnusedVariables lint; this merges first so the contract sync check stays in step.

Type of Change

  • Bug fix

Testing

  • Helper compiles for arm64 with the macOS 26 SDK
  • biome check on the changed TypeScript file
  • Benchmark trajectories reviewed for the timeout change: across two 84-task runs, no non-press action other than AXShowMenu reached the timeout

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing (new tests pass the test-audit authoring gate)
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)