Skip to content

[compass] Anode after the launch: be where agents look, and show what it is for - #27

Open
skulitom wants to merge 4 commits into
mainfrom
compass/followup-2026-10-08-C-042
Open

skulitom wants to merge 4 commits into
mainfrom
compass/followup-2026-10-08-C-042

Conversation

@skulitom

@skulitom skulitom commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

What changed

  • docs/COMPARISON.md, "When to use Anode, and when to use something else". A fair "when to use which" against
    Windows-MCP, Cua Driver, Desktop Commander and Windows 365 for Agents, plus Microsoft's MXC session isolation as
    "coming". Every claim about another tool links that tool's own README, docs or pricing page, read on 8 October 2026.
    It doesn't claim background input is unique to Anode (Cua Driver's default mode doesn't move the pointer either); it
    names Anode's actual difference, a separate session with its own desktop, focus and screen, and lists Anode's limits
    (Pro editions only, one seat, not a sandbox, unsigned builds).
  • Three use-case guides, each with the exact MCP calls and the matching CLI script:
    • docs/GUIDE-DESKTOP-APP.md: test a desktop app with Claude Code without losing your mouse.
    • docs/GUIDE-WEB-FORM.md: fill in a web form in the seat's browser, on a temporary or a signed-in profile.
    • docs/GUIDE-ANDROID.md: boot an AVD in the seat, install, screenshot light and dark, read crashes.
  • Media, recorded in the seat with Anode 0.11.0 from real MCP tool calls: assets/guide-web-form.gif (a local
    sample form in a Chrome window on a temporary profile, cropped to that window) and
    assets/guide-android-dark-theme.png (the device's own pixels from a Pixel 9 Pro emulator). The desktop-app guide
    reuses assets/demo.gif. The guides link the images by their raw GitHub URLs because the release package ships
    docs/ but not these assets.
  • Links: two rows in the README's Documentation table, one line under "Limits to know", and four llms.txt
    entries.

Why

The launch brings people who ask "can it do my task?" and "why not Windows-MCP or Cua?". These pages answer both
without anyone posting, for readers and for agents that read llms.txt.

While recording the web-form guide, two Anode 0.11 behaviours showed up: seat_element set_value on a Chrome
<select> reports "performed" but doesn't change the choice, and while that list is open seat_observe repeats the
window's subtree instead of listing the options. The guide documents both with the workaround that worked (expand,
then click the option from a screenshot, then observe again). Both are reported for a fix.

Checks

  • scripts\build.ps1 -QuickTest -OutputDirectory artifacts\pkg-build: 95/95 quick checks; check-docs.ps1:
    "Documentation links, anchors and tool names are consistent" over 40 documents.
  • Every frame of the GIF and both screenshots reviewed: only the test window or device screen, sample data only.
  • Second review by a fresh read-only Claude agent (Codex is at its usage limit until Fri 9 Oct): one P1 (the Windows 365 always-available price is charged on top of the hourly rate, not instead), seven P2s and five P3s, all fixed in this commit, then re-checked by the same reviewer: "Fixes OK".

No code changes.

🤖 Generated with Claude Code

Review follow-up (8 October)

Fixed both lease-ordering comments in a5df42c: the Android MCP sequence acquires before starting the emulator and releases after stopping it; the web-form guide acquires before either browser-launch option.

Validation: clean dotnet build (zero warnings/errors), all quick self-tests passed, and check-docs.ps1 passed across 40 documents and 41 tools. The changed guides' 30 JSON tool calls and three PowerShell snippets parse successfully. No live seat was started for these documentation checks.

This follow-up was prepared and validated with OpenAI Codex.

Review follow-up (9 October, compass-followup)

compass-merge held this PR on 9 October for the points in its comment. Two new commits:

Tests: scripts\build.ps1 -QuickTest -OutputDirectory artifacts\pkg-build passed 97/97 on a620889's tree, and check-docs.ps1 passed (40 documents, 41 tools). A fresh read-only Claude reviewer (Codex is at its usage limit until 22:15 today) checked each fix against src/Anode: "no credible problem"; its one P3 (a missing blank line) is fixed in a620889. No seat, lease, browser or Android command was run.

- docs/COMPARISON.md: when to use Anode, Windows-MCP, Cua Driver, Desktop
  Commander or Windows 365 for Agents, each claim linked to its source and
  read on 2026-10-08, plus Microsoft's MXC session isolation as "coming".
- docs/GUIDE-DESKTOP-APP.md, GUIDE-WEB-FORM.md and GUIDE-ANDROID.md: the
  exact MCP calls and CLI scripts for testing a desktop app with Claude Code,
  filling in a web form in the seat's browser, and an Android emulator check.
- assets/guide-web-form.gif and assets/guide-android-dark-theme.png, recorded
  in the seat with Anode 0.11.0.
- README Documentation table and Limits, and llms.txt, link the new pages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-08T08:48:44.314462Z 8705fe6 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8705fe6a3d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/GUIDE-ANDROID.md
Comment thread docs/GUIDE-WEB-FORM.md
@skulitom

skulitom commented Oct 9, 2026

Copy link
Copy Markdown
Owner Author

Compass review: issues found (not merged tonight)

Tested by compass-merge on 2026-10-09 on head a5df42c with main 63a80f8 merged in locally (4d09cae): scripts\build.ps1 -QuickTest passed 95/95, and the docs check found 40 documents and 41 tools consistent. CI is green. The two media files match the hashes the follow-up recorded, and I checked every frame: sample data only. Every MCP call and CLI option in the guides matches Tools.cs and the CLI, and a5df42c's lease order is right.

A fresh read-only Claude review of the whole diff (Codex is at its usage limit until 22:15 today) found no P1, but one problem I confirmed in the code blocks the merge:

  1. P2, docs/GUIDE-DESKTOP-APP.md, "The same from a script": the script acquires the lease, then runs dotnet build. The lease lasts 120 s after the last desktop command (Tools.cs ttlSeconds; Cli.cs --ttl), and a build isn't one. So a build that takes longer than that makes anode run fail with lease_expired (DesktopLease.cs:135). Build before lease acquire (as the MCP section already does), or pass --ttl 600.

Smaller fixes worth making in the same commit:

  • P2, docs/GUIDE-ANDROID.md "Before you start": anode android connects with autoStart: false. When Anode is stopped it prints "Anode is not running", not what it finds (AndroidCommands.cs:87-88). docs/ANDROID.md on main has the same wording.
  • P3: "check anode android until … says booted": only --json shows booted (SeatEmulators.cs).
  • P3: a seat_screenshot taken with maxWidth 1000 is scaled down, but seat_click takes full-size seat pixels. The web-form and desktop guides don't say to scale back, as the Android guide does.
  • P3: e30 after seat_wait must come from the wait's own reply (it observes at depth 20 with 500 elements), not from the depth-16 observation.
  • Tonight's merges: [compass] Fix: seat_element set_value reports "performed" on a Chrome drop-down list that ignores it #28 and [compass] Fix: seat_observe repeats a window's tree while a Chrome drop-down list is open #29 fix the <select> behaviour on main. The web-form guide's "In Anode 0.11.0 and 0.11.1, and not yet fixed" should say it is fixed in the next release.

When a new head is pushed, compass-merge tests it again and merges it if it's clean.

skulitom and others added 2 commits October 9, 2026 09:13
…down notes

compass-merge's review of #27 (2026-10-09):
- GUIDE-DESKTOP-APP: build before `lease acquire`, so a long build can't
  expire the 120 s lease; mention `--ttl 600`; scale screenshot points back
  to seat pixels before `seat_click`.
- GUIDE-ANDROID, ANDROID, TROUBLESHOOTING: `anode android` needs Anode
  running; only `--json` shows `booted`.
- GUIDE-WEB-FORM: sign in before the agent takes the lease; take the next
  element ID from `seat_wait`'s own reply; scale screenshot points back;
  #28 and #29 fix the `<select>` behaviour in the next release; one
  `seat_type` call types at most about 3,000 characters.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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