mirror of
https://github.com/lahfir/agent-desktop.git
synced 2026-08-06 14:10:43 +00:00
The foundation-contract branch passed unit CI but broke observation and interaction against real macOS apps. The unit suite runs on an in-memory MockAdapter that cannot exercise the platform's AX plumbing, so a batch of adapter regressions shipped green; running the live e2e surfaced them. - Window resolution: match AX windows to their CGWindowID via the private but stable _AXUIElementGetWindow bridge instead of the nonexistent AXWindowNumber attribute, which had made snapshot/find return WINDOW_NOT_FOUND for every app. Verified across single- and multi-window apps. - Accessible name: collapse the builder, strict resolver, hit-test, and ambiguity classifier onto one resolve_element_name (title -> description -> static-text value) so a ref's stored name always matches what the resolver recomputes. Fixes STALE_REF on elements named via a non-title rung (e.g. textfields labelled through AXDescription). - find: route through the single snapshot matcher (full traversal, correct names, real refs) and drop the redundant live resolve_query path that was correlated to the snapshot by index. - find --window-id: scope a search to one window, via a shared WindowScope arg group flattened into snapshot/find/screenshot. Ref-based and keyboard commands intentionally omit it -- a ref already carries its source window and keyboard input targets the focused window. - Trace: restore ref.resolve.ok on successful ref resolution. - Remove the now-dead resolve_query, the macOS live query matcher, get_live_name_evidence, and the superseded accname compute_name reduction. Verified by the live e2e (71/71) and the full unit/clippy/fmt/isolation gates. |
||
|---|---|---|
| .. | ||
| core | ||
| ffi | ||
| linux | ||
| macos | ||
| windows | ||