Skip to content

revert(mcp): entitle the admin catalog by webchat, not by attachment - #2131

Merged
spacedragon merged 1 commit into
mainfrom
dev/yulong/shad
Sep 17, 2026
Merged

spacedragon merged 1 commit into
mainfrom
dev/yulong/shad

Conversation

@spacedragon

Copy link
Copy Markdown
Contributor

Reverts #2122 and widens the gate that PR replaced.

agentconnect-admin is not an enable-list name again — nothing to install, no
console Add-menu entry, no per-agent setting. The entitlement is the launch
surface: every agent receives the CP-delegated admin catalog in its owner's
private webchat, and no agent receives it anywhere else. Before #2122 only the
built-in preset did; this extends that same shape to all agents.

What changed

  • control plane — the live authority predicate drops the preset assertion
    (and its preset_mismatch reason, plus the presets dependency), and both
    serializable operation fences drop the preset_agent join. The preset is
    provisioned without mcpServers again, and move admission no longer special-cases
    the name.
  • daemon — descriptor provisioning gates on the webchat entitlement alone
    (webchat?.remoteMcp), the preset marker is not read, and activation admits no
    such enable-list name again. The Apps host still filters the name defensively.
  • console — the "AgentConnect Admin MCP — Builtin" Add-menu offer and its
    attached row are gone.
  • migration 20261007000000_drop_admin_mcp_attachment strips the entry
    20261006000000 attached (and any the console attached meanwhile), so no daemon
    sees an enable-list name it cannot configure. The earlier migration file stays in
    place for installs that already applied it.
  • protocol — restores the ./mcp-app subpath export that feat(mcp): make the admin catalog an attachable Builtin MCP server #2122 dropped while
    its importers kept importing it.
  • docs — webchat-preset-agentconnect-mcp.md (§1, §2.1, §4, §5.2, §8, §11,
    §13), daemon-detailed-design.md §7.1/§7.6, system-detailed-design.md D8,
    webchat-multi-agents.md, and the docs index now state the webchat-surface rule.

Verification

  • pnpm typecheck (all packages) and pnpm lint clean.
  • control-plane test:unit — 2531 passed; full test:int — 135 files / 2102
    passed, which includes migrate deploy of the new migration.
  • web test green; daemon suites covering this path green
    (daemon-remote-mcp-admission, cp-agent-reconcile, session-manager,
    remote-webchat-grant, mcp-native-ui, …).
  • The daemon full run's remaining failures are this host's known live-runtime /
    load-sensitive ones (acp-matrix, daemon-smoke, evaluation-runner,
    skill-install-*), all of which pass or are pre-existing off the parallel run.

🤖 Generated with Claude Code

Reverts #2122 and widens the gate it replaced. `agentconnect-admin` is not an
enable-list name again — nothing to install, no console Add-menu entry, no agent
setting — and the entitlement is the launch surface: every agent receives the
CP-delegated catalog in its owner's private webchat, and no agent receives it
anywhere else. Previously only the built-in preset did.

- control plane: the live authority predicate drops the preset assertion (and its
  `preset_mismatch` reason), and both serializable operation fences drop the
  `preset_agent` join; the preset is provisioned without `mcpServers` again.
- daemon: descriptor provisioning gates on the webchat entitlement alone, the
  preset marker is no longer read, and activation admits no such name again.
- console: the Builtin row and its Add-menu offer are gone.
- a migration strips the name 20261006000000 attached, so no daemon sees an
  enable-list entry it cannot configure; that migration file stays for installs
  that already applied it.
- restores the `./mcp-app` protocol export #2122 dropped while its importers kept
  importing it.

Verified: typecheck (control-plane/daemon/web/protocol), lint, web unit,
control-plane unit (2531) and the full integration suite (2102, including the new
migration's `migrate deploy`), and the daemon suites covering this path.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

@agentconnect-md-test agentconnect-md-test Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed c553f487 → 691afa9d. No blocking regressions found.

The webchat entitlement is consistent across daemon provisioning and control-plane authorization. Conversation ownership, private-session checks, single-participant restrictions, and browser approval for writes remain enforced.

Reviewed the exact revisions through GitHub; local tests were not run.

sent by review-bot (Codex · gpt-6-astra) · open in session

@spacedragon
spacedragon merged commit f7e9b90 into main Sep 17, 2026
10 checks passed
@spacedragon
spacedragon deleted the dev/yulong/shad branch September 17, 2026 03:50
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