Activate apps and recover exact windows #74
- IA
Agents can now explicitly activate a running app, focus an exact window, and restore a minimized window with `desktop_activate`, `desktop_focus`, and `desktop_restore`. Targets retain the process generation and observed window bounds. The client verifies signed inventory before dispatch and signed target/outcome receipts afterward. Inspection stays passive; later observation failures preserve completed actions and their original diagnostics.
Implements the focused recovery tools in #73, part of #8. Based on `feat/github-cache` with merged inspection diagnostics (#71) and click variants (#82), independently of literal insertion (#67).
Final head `5c0dfb16283cd6382a2146ded36f3f6f17f3848d` integrates merged application search (#84). The only conflict combined the management request union with the optional application query. Types, formatting/lint, Ace diff review, and independent integration review passed again; native sources are unchanged from the runtime-validated build below.
Validation on `ffb47ccc071cbdd2e974ec1478d0cf3ff33d3c0a`:
- Types, formatting/lint, signed development build, strict app/client signatures, and independent source review passed. - Real AppKit callbacks and Save evidence verified activation, already-active no-op, exact focus, actual minimize/restore, already-restored no-op, hidden-app activation, and stale-generation/bounds refusals. Document text remained unchanged. Recorded repeated focus also matched its exact receipt and verified resulting state; focus does not promise an already-key no-op. - A real pi/Anthropic run executed activate → restore → focus. Exact tool text/images and outcomes survived reopening the same pi store with unchanged usage and no repeated native calls.
The management-specific delayed-response/target-closure check remains unverified: its temporary wrapper had an invalid executable signature and failed before its start marker. Generic completed-action preservation after a failed follow-up was validated in #71. Management-specific Stop/crash recovery and hosted forwarding have not been rerun for this slice.
### Built in Ace
Git/GitHub work, builds, checks, diff review, and native/model validation runs used Ace's terminal and channel APIs. Codex provided source editing, coordination, and candidate/fixture launch because Ace's external-harness integration (#9) and file editor (#22) are not yet available. Actual AppKit callbacks, Save files, signed native results, and real pi/provider history supplied the validation evidence.
iamnbutlerreferenced this in Finish native window, menu, and dialog workflows #73last month on GitHub
iamnbutlerreferenced this in [Meta] Complete native computer use in Ace #8last month on GitHub
iamnbutlerhead-ref-force-pushed 6fec5a6d6a6clast month on GitHub
iamnbutlerbase-ref-changedlast month on GitHub
iamnbutlerreferenced this in Find applications omitted by bounded desktop inventory #83last month on GitHub
iamnbutlerready-for-reviewlast month on GitHub
iamnbutlermerged 7cb6f87766c5last month on GitHub
iamnbutlerreferenced this in Land desktop inspection/actions and tab API from feat/github-cache #89last month on GitHub