Skip to content

feat: inventory VS Code project scope without client execution - #337

Merged
m1ngshum merged 2 commits into
mainfrom
feat/vscode-project-scope
Nov 8, 2026
Merged

m1ngshum merged 2 commits into
mainfrom
feat/vscode-project-scope

Conversation

@m1ngshum

@m1ngshum m1ngshum commented Nov 8, 2026 •

Copy link
Copy Markdown
Member

mcpm scope previously covered Claude Code only. Add an explicit --client vscode profile that inventories four fixed VS Code/Copilot sources and instruction metadata, while preserving the default Claude Code result.

The inventory keeps source origins and JSON/JSONC/bare-map formats separate, reports duplicate names without choosing a winner, and exposes incomplete inputs without commands, values, instruction contents, client execution or writes. Completion choices and the public usage skill are updated. This is the bounded VS Code slice of backlog #141; broader host/profile/workspace coverage remains open.

Validation:

  • Typecheck, build and coverage passed: 3,877 tests passed, one skipped; the 101% negative coverage gate rejected correctly.
  • 124 native harness checks passed, including 20 focused receipt checks.
  • The exact packed candidate passed clean-install smoke and 139 modern/legacy direct/guarded protocol comparisons (zero failures, two expected unsupported combinations, four exclusions). Independent image/runtime/lock/harness readback and all 104 retained captures passed.
  • An offline, read-only, non-root Linux arm64 container passed 12 actual packed CLI cases. Pinned VS Code 1.141.0 opened the default user config path and emitted invalid/restored JSONC diagnostics. Independent readback matched all 2,609 installed VS Code files and 66 candidate runtime files; test containers/volumes were removed.

The hosted candidate matrix twice reached its 120-second outer deadline after 131 and 135 passing cases, leaving eight and four cases unrun. Preserve both as failed/incomplete attempts; increase only that outer budget to 180 seconds for the 139-case suite. The existing launcher regression still requires timeout exit 124, SIGKILL, container kill before evidence export and cleanup; per-case deadlines and assertions are unchanged.

Astra independently reviewed the implementation and evidence. Confirmed malformed-neighbor parsing and receipt identity/diagnostic-causality issues were reproduced, fixed and regression checked. Relevant docs, public skill and Obsidian are updated.

Native proof covers the Linux default-profile path and editor syntax only. Selected profile, forwarding, MCP activation and enforcement remain unknown; macOS/Windows native behavior, provider/model calls and real profiles were not tested. The native editor uses --no-sandbox and disabled Workspace Trust inside the outer container, so this does not establish those native security controls. The pinned Tart tool failed its startup/signature check; no VM or security bypass was used.

Maintenance PRs #329/#330 were reviewed separately and remain open. #331 is untouched. No merge or release is included.

All nine checks passed on final reviewed head bd8aaf3bcf920872b0e06d43da9b6bcbb8650d9d (CI run). The fresh local matrix also passed all 139 comparisons after the budget fix, with independent runtime/lock/harness readback and 104 retained captures replayed.

@m1ngshum
m1ngshum merged commit c03a622 into main Nov 8, 2026
9 checks passed
@m1ngshum
m1ngshum deleted the feat/vscode-project-scope branch November 8, 2026 08:24
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