Skip to content

Activate apps and recover exact windows - #74

Merged
iamnbutler merged 5 commits into
feat/github-cachefrom
codex/desktop-windows
Oct 5, 2026
Merged

iamnbutler merged 5 commits into
feat/github-cachefrom
codex/desktop-windows

Conversation

@iamnbutler

@iamnbutler iamnbutler commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

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.

@iamnbutler
iamnbutler force-pushed the codex/desktop-windows branch from edc2363 to 6fec5a6 Compare October 5, 2026 12:17
@iamnbutler
iamnbutler changed the base branch from codex/desktop-keyboard to feat/github-cache October 5, 2026 12:17
@iamnbutler
iamnbutler marked this pull request as ready for review October 5, 2026 12:47
@iamnbutler
iamnbutler merged commit 7cb6f87 into feat/github-cache Oct 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant