Repository navigation
feat(computer-use): batch 2-8 actions per call and read app state in one round trip per element - #9995
Conversation
…bility round trip Index observed elements by CFHash so membership and parent lookups stay linear, and query value settability only for text roles.
Each step runs through its single action's checks; the batch stops at the first failure and after any step that changes the app's window structure, and returns one fresh observation.
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
|
[Medium impact] The PR appears safe to merge; no new actionable issues remain. SummaryAdds 2–8 computer-use actions per call and reads node attributes together to reduce Accessibility requests.
|
There was a problem hiding this comment.
All reported issues were addressed across 7 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
…any step after Stop The structure guard compares on-screen window and focused-window child identities instead of counts, and every step checks cancellation first. Synced the contract, which now bounds batch progress to 2-8 steps.
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
Summary
batchcomputer action: 2–8 click / type_text / set_value / press_key / scroll / perform_action steps planned from one snapshot, run in order through each single action's own checks (stale element, window, focus, secure field, occlusion). It stops at the first failing step and after any step that opens or closes a window, sheet, menu or popover, reportssequence.completedSteps, and returns one fresh observation. A first step that sent nothing is refused withdispatchState: not_started, keeping the snapshot validget_app_statereads each node's attributes in one Accessibility round trip (AXUIElementCopyMultipleAttributeValues) and indexes visited elements by CFHash, removing two O(n²) scans: Finder 341→159 ms, Mail 94→50, Notes 71→39, Calendar 104→61, Safari (2000 nodes) 1382→650 ms; node lists identical (old-vs-old shows the same live-UI noise)computer-use.generated.ts); SwiftParametersnow carriesactionand nestedsteps, so input-sequence and batch steps share one shapebatchbefore the worker offers it — older desktops reject it asnot_startedand the description tells the model to fall back to single actions)Type of Change
Testing
check:test-patterns,check:comment-hygiene; mothership contract parity checkChecklist
test-auditauthoring gate)