githubnext/ace2Public

Ace: a collaborative coding environment on the team's own machines

Embed native desktop inspection in Ace #47

Mergediamnbutlermerged 3 commits intofeat/github-cachefromrefs/pull/47/head
  1. IA

    Adds the first inspection slice for #8: pi agents can list native applications and windows, then inspect an explicit window with Accessibility text and a screenshot. The result appears in expandable tool output and survives reopening the channel through pi's existing history. Hosted channels forward inspection to their workspace. The existing collaborator-agent switch governs these tools with all other agent tools.

    Peekaboo 4.8.0 is embedded in the signed Ace desktop app. Users grant Accessibility and Screen Recording to Ace in Settings → This Mac; no separate Peekaboo installation is required. Native inspection requires macOS 15 and Ace to remain open on the execution host. This slice adds observation only; clicks and typing remain follow-up work under #8. Bumps the desktop version to 0.0.10 for the next canary release.

    Dogfooding exposed a timeout while Ace's synchronous folder picker was open. The picker now opens asynchronously, keeping native inspection responsive and preserving cancellation, exact folder paths, and the project-first flow.

    The README, terms, and architecture now state the intended trust and deployment model: the tailnet is the sole team/access authority, teams operate their own installations and shared services, and Ace will not run a hosted service.

    Validation:

    - All package type checks, formatting/lint, app build, and the signed development desktop build pass. Verified nested signatures, client identity, macOS 15 targets, dependency linkage, pinned Swift dependencies, and packaged licenses. - Real pi/Anthropic runs called all three desktop tools through both a local host and the local Workers/Durable Objects runtime. The collaborator switch rejected invocation when off and allowed it when on. - Native captures returned bounded screenshots and Accessibility text with exact-window receipts. Inspected the real folder picker; checked cancel, a path containing a comma, and opening a project without creating a channel. - Local host and Workers restarts replayed identical image bytes and Accessibility text. Reopened the channel in Ace and visually checked the saved image. - Workspace-offline errors, in-flight cancellation, capture-file cleanup, and quitting with the picker open passed. Quitting the app removed its bridge socket while the independent host stayed running. - React Doctor: 92/100, with one maintainability warning in the existing HostStatus function. Independent review found no outstanding blockers.

    ### Built in Ace

    Builds, checks, runtime commands, Git operations, and GitHub operations ran through Ace's terminal. Codex provided orchestration, source edits/reads, and computer use because the corresponding Ace capabilities are still being developed: #8 (native UI), #9 (external harness integration), and #22 (file editing). This PR builds the inspection part of the native UI gap while retaining pi as the native harness.

  2. iamnbutlerrenamed feat(desktop): embed native window inspection in Ace to Embed native desktop inspection in Acelast month on GitHub

  3. iamnbutlerreferenced this in [Meta] Complete native computer use in Ace #8last month on GitHub

  4. iamnbutlerready-for-reviewlast month on GitHub

  5. iamnbutlermerged ce1bd9bde779last month on GitHub

  6. iamnbutlerclosedlast month on GitHub

  7. IA
    Author

    Published [canary 0.0.10](https://pub-5bdeb2efd19f42f09df9efad8b20c91e.r2.dev/ace/canary/macos-arm64/ace-canary-0.0.10-macos-arm64.dmg) from merge commit `ce1bd9bde77955b15521a5cbeee1236bdc14fa13` in [release run 37249000711](https://github.com/githubnext/ace2/actions/runs/37249000711).

    CI completed type/lint checks, signing, notarization, archive verification, and feed publication. The downloaded artifact matched the release manifest and requested source revision. Both the app and disk image passed local Gatekeeper and stapled-ticket checks; the published feed matches CI's signed feed and requires macOS 15.

    The local Sparkle upgrade from 0.0.8 to 0.0.10 also completed: Ace Helper restarted from the installed bundle, the update/resume receipts cleared, and the existing project, channels, and selected chat history reopened. The installed app and bundled native client's signatures passed verification.

    DMG SHA-256: `e708ee9dedbff6f6b2f4515126a8c1c12d014ddd47418346668ab1efa1bf3640`.

    The terminal input glitch observed during release dogfooding is tracked separately in #48 under #5.

  8. iamnbutlerreferenced this in [Meta] Dogfood Ace end to end #5last month on GitHub

  9. iamnbutlerreferenced 2e4ce3444d6elast month on GitHub