Repository navigation
Separate selected plugin identities from MCP contributions - #47939
Merged
copyberry[bot] merged 1 commit intoSep 24, 2026
Conversation
## Why Plugin identity and skill ownership need to be available independently of MCP data, including for plugins without servers or connectors. Hosted plugins have no executor root and should not own executor skills. ## What changed - Add `McpServerContributor::selected_plugins` to declare executor plugin identities with deferred MCP data. Let the host assign server attribution and precedence across contributors. - Represent hosted connectors with `HostedPluginConnectors` and make `SelectedPluginIdentity::selected_root_id` optional instead of assigning synthetic roots to hosted plugins. - Resolve executor contributions before reading hosted connectors, and clear stale hosted state on account changes before executor loading can wait. - Preserve connector declarations from disabled plugins so Apps can hide those connectors. ## Testing Add coverage for account changes while executor loading is pending. Update tests to verify hosted identities have no executor root and disabled plugins hide their connectors even when plugin IDs differ from root IDs. GitOrigin-RevId: e7f511264c5874c1b56d5f3e4a46820724046db0
copyberry
Bot
force-pushed
the
copyberry/codex-internal-to-codex-oss/e7f511264c5874c1b56d5f3e4a46820724046db0
branch
from
September 24, 2026 21:04
c8362f1 to
e8098eb
Compare
copyberry
Bot
deleted the
copyberry/codex-internal-to-codex-oss/e7f511264c5874c1b56d5f3e4a46820724046db0
branch
September 24, 2026 21:04
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Separate selected plugin identities from MCP contributions
Why
Plugin identity and skill ownership need to be available independently of MCP data, including for plugins without servers or connectors. Hosted plugins have no executor root and should not own executor skills.
What changed
McpServerContributor::selected_pluginsto declare executor plugin identities with deferred MCP data. Let the host assign server attribution and precedence across contributors.HostedPluginConnectorsand makeSelectedPluginIdentity::selected_root_idoptional instead of assigning synthetic roots to hosted plugins.Testing
Add coverage for account changes while executor loading is pending. Update tests to verify hosted identities have no executor root and disabled plugins hide their connectors even when plugin IDs differ from root IDs.