orca/skill-guides
Jinjing 4a9affd6e5
fix(emulator): iOS ax via plain-JSON serve-sim helper (supersedes #10007) (#10029)
* Revert "Enable accessibility tree (`ax`) command on iOS emulator sessions (#10007)"

This reverts commit 43ae014a64.

* fix(emulator): expose iOS accessibility tree

* fix(emulator): support device-only iOS AX

* fix(emulator): normalize iOS ax to 0..1 and heal missing axUrl

serve-sim's helper /ax reports element frames in absolute pixels, but
tap/gesture take normalized 0..1 coords. Normalize the raw AX node tree
into a compact nested shape whose frames are 0..1 over the device screen
(first root's frame), mirroring serve-sim's own normalizeAxTree, so agents
can feed ax output straight back into input commands.

Also heal sessions that were registered without an axUrl: #9924 only
derived /ax at parse time, so already-active sessions had no endpoint.
The bridge now derives it from the session's mjpeg stream URL, guarded to
the /stream.mjpeg suffix so a non-mjpeg URL never fabricates a bogus /ax.

* docs(emulator): mark ax working on iOS with correct raw-AX-tree shape

Both skill guides and the CLI summary described iOS ax as unsupported (or,
via the reverted #10007, as a normalized "screen + elements" shape that
never matched the endpoint). ax works on both backends: Android via
uiautomator, iOS via the serve-sim helper. Document the real iOS output —
a raw AX node tree (labels, roles, nested children) with frames normalized
to 0..1 — and regenerate the bundled skill guides.

* chore(skills): regenerate skill bundle manifests

CI verify failed because generated skill artifacts were stale after version/skill revision bumps.

* fix(emulator): read ax from explicit device without active session

Fall back to udid-keyed session lookup when a worktree has no active emulator,
allowing `--device` targeting to work the same way for ax as it does for tap/type.
Also clarify in docs that AX frames are normalized 0..1 with top-left origin,
and show how to tap an element at its frame center (x+width/2, y+height/2).

* fix(emulator): cap iOS AX tree at 500 nodes

Unbounded accessibility trees can flood agent output. Enforce a 500-node limit (matching serve-sim's snapshot cap) and mark truncated parents so consumers know the tree was cut.

---------

Co-authored-by: 5Hyeons <ohs2251@naver.com>
2026-07-22 21:30:53 -07:00
..
computer-use.md Add version-matched skill guides to the CLI (#8624) 2026-07-14 02:17:55 -07:00
linear-tickets.md feat(skills): land remaining hybrid stubs (#9846) 2026-07-22 11:43:01 -07:00
orca-cli.md Add version-matched skill guides to the CLI (#8624) 2026-07-14 02:17:55 -07:00
orca-emulator-android.md fix(emulator): iOS ax via plain-JSON serve-sim helper (supersedes #10007) (#10029) 2026-07-22 21:30:53 -07:00
orca-emulator.md fix(emulator): iOS ax via plain-JSON serve-sim helper (supersedes #10007) (#10029) 2026-07-22 21:30:53 -07:00
orca-linear.md feat(linear): add MCP-style save issue (#9670) 2026-07-21 13:25:22 -07:00
orca-per-workspace-env.md Add version-matched skill guides to the CLI (#8624) 2026-07-14 02:17:55 -07:00
orchestration.md Tighten orchestration worktree isolation policy (#9482) 2026-07-19 17:17:40 -07:00