Skip to content

AIRT-0003: confirm the Copilot MCP paths, catalog the computer-use plugin - #75

Closed
depalmar wants to merge 1 commit into
docs/refresh-stale-claimsfrom
feat/copilot-computer-use-rows
Closed

depalmar wants to merge 1 commit into
docs/refresh-stale-claimsfrom
feat/copilot-computer-use-rows

Conversation

@depalmar

Copy link
Copy Markdown
Owner

Stacked on #74. Base is docs/refresh-stale-claims, because the CLAUDE.md count edit here builds on that branch. Merge #74 first and this retargets to main automatically.

Why this entry

The host sweep flagged AIRT-0003 as the catalog's best correction candidate: ~/.copilot/ and config.json HIT while three high-confidence paths MISSED on the same machine — the pattern CLAUDE.md names as the query that finds real errors.

Installed Copilot CLI 1.0.80 (npm install -g @github/copilot) to settle it. Not authenticated, so nothing here depends on a signed-in session and the two credential directories were never created or inspected.

Result: no correction needed

Path Basis
~/.copilot/mcp-config.json copilot mcp --help prints User ~/.copilot/mcp-config.json verbatim; 4 occurrences in the shipped package
~/.copilot/mcp-secrets/ 3 occurrences in the shipped package
~/.copilot/mcp-oauth-config/ 3 occurrences in the shipped package

The vendor's own binary is the source — not a search summary, not an aggregator — so this clears the last_verified bar.

They're created on first MCP server add, so an absence on a host that has the CLI is expected, not suspicious. That now lives in the mcp block rather than waiting for the next sweep to rediscover it.

One caveat that changes what the directory proves

The install wrote nothing into ~/.copilot. The directory already existed — empty ide/, one log — created by the IDE integration on a host where the CLI had never been installed.

~/.copilot/ presence is not evidence the CLI is present. A responder reading it that way would be wrong, using this catalog as written.

Rows added

Reading the package turned up more than the verification did — 5 disk rows, 2 MCP mechanisms:

  • <repo>/.mcp.json and <repo>/.github/mcp.json — workspace MCP scope, vendor-documented, previously uncatalogued. Travels in the repository, so a clone can introduce a server the user never configured.
  • plugins/computer-use/ — computer-use-mcp.exe (3.4 MB), CopilotComputerUse.exe (2.4 MB), and a .mcp.json registering it as a stdio server. Vendor-shipped, so a supply-chain surface rather than a user-configuration surface.
  • copilot.exe, and the bundled voice engine with pvrecorder.

Capability change

screen_capture: true. Basis is the binary: 52 occurrences of screenshot, SendInput and UIAutomation for control, and strings describing an engine that "cannot perceive or act" without accessibility permission.

A tool catalogued as coding-agent-ide ships desktop observation and input synthesis by default, with no separate install.

Two changes declined:

  • browser_control — the engine drives a browser the way it drives any window; the flag denotes programmatic automation. Setting it would assert a mechanism the tool doesn't have.
  • Recategorising to computer-use-agent — computer use is a bundled plugin, not the tool's identity, and it would skew the category counts.

Scope limit

Every new row is windows only, stamped 2026-08-21. The plugin path embeds copilot-win32-x64 and the binaries are .exe. The binary contains macOS strings suggesting the plugin ships there too — that's a lead, not a verified row, and it's left unstamped.

The two credential directories remain unverified for mode and permissions. That needs an authenticated session.

Verification

validate.py            51 entries + 12 sigma rules, 0 problems
readme_counts.py       counts are current
build_site.py --check  622 rows, unique anchors, 0 problems
validate_mappings.py   68 on disk = 68 in MAPPINGS, in sync
validate_techniques.py 0 problems

All five feeds regenerated in-commit, including gen_credential_targets.py. Counts 615 → 622; disk 207 → 212, mcp-config 64 → 66.

Full reasoning, including what was declined, is in artifacts/docs/VERIFICATION.md.

🤖 Generated with Claude Code

…them

The host sweep flagged this entry as the catalog's best correction candidate -
~/.copilot/ and config.json HIT while three high-confidence paths MISSED on the
same machine. Installed Copilot CLI 1.0.80 to settle it.

The entry was right and the reading of it was wrong. All three paths appear in
the shipped package, and `copilot mcp --help` prints the first one verbatim as
its user-scope config source. They are created on first MCP server add, so an
absence on a host that has the CLI is the expected state. That is now in the
mcp block instead of waiting to be rediscovered by the next sweep.

One caveat the install did change: it wrote nothing into ~/.copilot. The
directory already existed, holding an empty ide/ and a log, created by the IDE
integration on a host where the CLI had never been installed. Presence of that
directory is not evidence of the CLI, and the entry said otherwise by omission.

Reading the package turned up more than the verification did:

- <repo>/.mcp.json and <repo>/.github/mcp.json - workspace MCP scope, vendor
  documented, previously uncatalogued. It travels in the repository, so a clone
  can introduce a server the user never configured.
- plugins/computer-use/ - the CLI ships a computer-use engine, two executables
  and a manifest registering it as a stdio MCP server.
- copilot.exe, and the bundled voice engine with pvrecorder.

screen_capture is now true. Basis is the binary: 52 occurrences of screenshot,
SendInput and UIAutomation for control, and strings describing an engine that
"cannot perceive or act" without accessibility permission. A tool catalogued as
coding-agent-ide ships desktop observation and input synthesis by default.

Declined browser_control - the engine drives a browser the way it drives any
window, and the flag denotes programmatic automation. Declined recategorising
to computer-use-agent - computer use is a bundled plugin, not the identity.

Every new row is windows-only. The plugin path embeds copilot-win32-x64 and the
binaries are .exe; macOS strings in the binary suggest the plugin ships there
too, but that is a lead, not a verified row.

The two credential directories are still unverified for mode - that needs an
authenticated session.

Feeds regenerated, all five. Counts 615 -> 622.

Co-Authored-By: Claude Opus 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