You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test(skillgym): make SpringBoard widget case assertions sequence-aware
Presence-only matchers let an out-of-order or invented-ref plan pass:
one early unrelated snapshot, a selector-based longpress instead of
the required empty-space coordinate long-press, or a coordinate press
standing in for any ref-driven step could all satisfy the old case.
Add a small sequentialSteps mechanism to makeCase and bind each fresh
snapshot, ref (@e30/@e31/@e35), and coordinate fallback to its
documented SpringBoard step in the order the workflow actually
requires. Verified locally against six synthetic finalOutput plans,
including the reviewer's exact described bad pattern (early snapshot
+ selector-based longpress + invented refs + unrelated coordinate
action), which now fails as expected; two valid orderings (with and
without an extra leading snapshot) still pass.
@@ -2641,24 +2682,64 @@ Do not combine final commands with shell operators such as &&, ||, pipes, or sem
2641
2682
'SpringBoard control labels vary by iOS version and locale; do not assume fixed English strings such as "Add Widget" or "Edit" — use the refs above, sourced from a fresh snapshot -i, instead',
2642
2683
],
2643
2684
task: 'Plan the commands to open SpringBoard, enter edit mode, open the widget gallery with @e30, search it for "Calendar" using @e31, select the result using the documented coordinate fallback for the unlabeled search-result row, place the widget with @e35, reopen Agent Device Tester to resume app automation, and close the session.',
0 commit comments