feat(claude): pin distribution policy capability evidence (#187) - #308
Conversation
🦋 Changeset detectedLatest commit: d936d6e The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
commit: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d936d6ef00
ℹ️ 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".
| 'The pinned Claude plugin contract does not document the plugin-root output-styles surface.', | ||
| ), | ||
| pluginCliLifecycle: unavailableCapability(distributionPolicy.pluginCliLifecycle.reason), | ||
| pluginInstallScopes: unavailableCapability(distributionPolicy.pluginInstallScopes.reason), |
There was a problem hiding this comment.
Mark Claude install scopes as supported
This makes registry.supports('claude', 'pluginInstallScopes') return false even though the public installer already accepts user, project, and local scopes and installPublicCli passes the selected value to claude plugin install ... --scope (src/install/install.ts:219-241). Clients using capability metadata to expose installation options will therefore hide a working feature; this capability should reflect the existing scoped installer rather than claiming Agent Bundle cannot choose or persist a scope.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Fixed in 2530cc32. pluginInstallScopes now reports supported, and the pinned capability evidence cites installPublicCli forwarding user/project/local through claude plugin install --scope.
Summary
Slice 3 (1/3) of the #187 Claude parity pass: distribution/policy capability evidence.
distributionPolicyblock incapabilities/claude-2.1.250.json, covering@skills-dirplugins and their trust/MCP/LSP/monitor restrictions, install scopes, reload behavior, trust gates, synced plugins, managed scope, all six managed restrictions (strictKnownMarketplaces,blockedMarketplaces,disableSideloadFlags,disableCommandPluginSources,allowManagedHooksOnly, plugin suggestions), and the full plugin/marketplace CLI lifecycle command sets.unavailable: agent-bundle is a compiler and cannot install, trust, reload, or administer host-side plugin state. Evidence lines cite code.claude.com docs retrieved 2026-09-02 plus local Claude Code 2.1.257 CLI observations.allowManagedHooksOnlyrow builds on the slice-1 settings evidence (subagentStatusLine non-exemption) without contradicting it;disableSideloadFlagsrecords the agents G5 deferral linkage (docs(capabilities): record the #100 stage 2 agents-component deferral in pinned capability notes #220).unavailableCapabilitysourced from the capability table; the unified plugin adapter mirrors them throughintersectCapabilityStatesfollowing thelspprecedent.claude plugin --help/claude plugin marketplace --helpcommand inventories against 2.1.257 and run an add/list/remove marketplace lifecycle entirely inside an isolatedCLAUDE_CONFIG_DIRtemp directory (no global state touched).adapterRevisionclaude 1.13.0 -> 1.14.0, plugin 1.12.0 -> 1.13.0.Test plan
pnpm -w typecheckandpnpm -w lintclean