You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CWL products and maintainers can benefit from the curated plugins published through anthropics/claude-plugins-community, but installing the marketplace wholesale would turn third-party prompts, hooks, subagents, MCP servers, shell commands, network access, and external account requirements into implicit runtime authority.
The upstream repository explicitly describes itself as a read-only mirror of an internally reviewed catalog, warns that bundled third-party connectors may not be fully vetted, and does not automatically install plugins. Anthropic review is useful upstream evidence, not CWL admission authority.
repository role: discovery/distribution mirror, not a CWL runtime dependency or source of product truth
These identities become historical evidence after the upstream ref moves. Every admission must bind exact immutable source and package bytes again.
Canonical ownership
Noema's Tool / Capability Boundary owns versioned external-extension descriptors, admission decisions, least-authority activation, expiry, rollback, and invocation receipts. It does not absorb foreign plugin functionality or the following owners:
context-graph-contracts: provider-neutral released schema/profile/conformance for external capability artifacts once the current contract stack produces an immutable release;
appguardrail: package/manifest/hook/prompt/MCP supply-chain scanning and SARIF; extend current PR #1036 through a non-duplicative successor;
quarantine-sandbox-runtime: isolated execution of untrusted hooks, scripts, MCP binaries, and package analysis;
contextual-orchestrator: model/provider discovery, capability routing, and orchestrator/free; no plugin-owned provider routing or provider credentials;
keyverse: human/service identity and secret handles; raw secrets never enter plugin prompts, manifests, traces, or receipts;
macos_utility_packs: local developer-workstation reconciliation after released admission evidence exists;
product repositories: consumer-owned ACLs and declared capability demand only, never copied plugin source or cross-repository SQL.
Noema may use a narrow local port/test double before a released shared contract exists, but must fail closed rather than read a sibling PR head, mutable branch, or unpublished package as authority.
Two distinct adoption modes
developer_assist
An approved plugin may be installed into a bounded maintainer/reviewer workspace. It can advise or propose changes, but it has no merge, release, deployment, secret, product-data, or production-state authority. Installation is disabled by default and scoped by repository class, role, client, and expiry.
product_runtime_adapter
A CWL product must not embed or invoke the Claude plugin wrapper as its production runtime. When a plugin exposes a useful MCP/API/tool, the canonical owner adopts the underlying released protocol/API through a product-owned port/ACL, with its own tests, security controls, provenance, and release. The community catalog remains discovery evidence only.
External extension descriptor
Define one versioned, fail-closed descriptor containing at least:
All hashes and repository/source identities are canonical lowercase exact values. Branches, floating tags, mutable marketplace names, self-asserted scan success, or a plugin author's prose are not admission authority.
State transitions are append-only evidence. approved_for_pilot is not active; an activation is bound to exact product/repository, user/service role, policy version, artifact digest, and time interval.
Initial pilot portfolio
Only the following narrow candidates should enter evaluation first. None is active by this issue alone.
Candidate
Intended CWL use
Boundary
rust-best-practices
Review assistance for Rust-heavy owners such as fast-mlsirm, TEPP, RankWeave, pingora-gateway, OriginWeave, and quarantine runtime
Additional adversarial review input for AppGuardrail and security maintainers
developer_assist; never a required scanner/status and never a replacement for AppGuardrail/CodeQL/Semgrep/Strix
accessibility
UI review assistance for products with Figma/Storybook/WCAG work
developer_assist; no conformance/certification claim without executable WCAG/AT/E2E evidence
supabase-postgres-best-practices
Evaluation only in repositories that actually use Supabase contracts
no generic PostgreSQL rollout; reject for products whose canonical stack is plain PostgreSQL/SQLx
Do not adopt duplicate wrappers for capabilities already provided through installed official CWL connectors such as Figma and Vercel unless a measured gap and non-overlapping contract are recorded.
Mandatory rejection or escalation
Reject or require explicit security/owner review when an extension requests any of the following:
direct OPENAI_API_KEY, NVIDIA_NIM_API_KEY*, BYTEZ_API_KEY, OPENROUTER_API_KEY, or provider/model routing outside contextual-orchestrator;
GitHub review/merge/release/deployment/administration or broad repository write authority;
license/NOTICE/provenance that cannot be reconciled for commercial use and redistribution.
TDD acceptance
RED tests must prove at least:
mutable branch/tag/local-path-only source is rejected;
marketplace metadata and retrieved artifact disagreeing on source/ref/path/hash is rejected;
missing, stale, forged, wrong-artifact, or wrong-policy AppGuardrail/quarantine receipt is rejected;
direct provider key/model route or broad GitHub authority is rejected;
undeclared shell/filesystem/network/secret/MCP authority is rejected;
one product cannot activate another product's approval;
expired, suspended, superseded, or rollback-marked activation cannot invoke;
source/catalog drift does not silently update an active extension;
duplicate/replayed activation and invocation events remain idempotent;
a plugin instruction cannot promote observed content into trusted policy or new capability;
product-runtime mode cannot execute a Claude plugin wrapper;
receipts contain no secrets, raw product data, or hidden reasoning.
GREEN requires the smallest Noema-owned implementation behind Tool / Capability ports, executable admission and activation APIs, deterministic receipts, 100% owned production statement/branch coverage, public API docs/docstrings, property/hostile-input tests, exact-head CI/security/package/SBOM/provenance, and rollback/disable rehearsal.
Product adoption manifest
Each consumer repository declares capability demand rather than a plugin name, for example .cwl/external-capabilities.yaml:
The repository contains no upstream source copy and no mutable installation command. Central .github validation must later verify this manifest against an immutable released Noema/contract artifact, exact current head, AppGuardrail evidence, and allowed repository scope.
Establish/release the shared external-capability artifact contract in context-graph-contracts; until then keep a local fail-closed port/test double only.
Complete AppGuardrail skill-supply-chain #1036 and its Claude-plugin package successor.
Implement Noema admission, activation, receipt, expiry and rollback.
Add central .github consumer-manifest validation.
Add macos_utility_packs discovery-only then approved-pilot reconciliation.
Run the three narrow pilots, compare against no-plugin baselines, and activate only measured, non-duplicative value.
Non-goals
no wholesale marketplace installation;
no fork of the Anthropic mirror as a CWL source of truth;
no automatic trust because Anthropic scanned/reviewed a plugin;
no direct production dependency on Claude Code/Cowork packaging;
no plugin-owned model/provider routing, secrets, merge/release, or product-domain truth;
no claim that plugin installation itself closes a buyer or commercial-readiness gap.
Buyer problem
CWL products and maintainers can benefit from the curated plugins published through
anthropics/claude-plugins-community, but installing the marketplace wholesale would turn third-party prompts, hooks, subagents, MCP servers, shell commands, network access, and external account requirements into implicit runtime authority.The upstream repository explicitly describes itself as a read-only mirror of an internally reviewed catalog, warns that bundled third-party connectors may not be fully vetted, and does not automatically install plugins. Anthropic review is useful upstream evidence, not CWL admission authority.
Observed upstream identity at issue creation:
anthropics/claude-plugins-communitya727be1c7bd6064419b6f60d71993a19198adc17.claude-plugin/marketplace.json@eb95bc96ea8434539aeb4cc1cec40abaca6d40aaThese identities become historical evidence after the upstream ref moves. Every admission must bind exact immutable source and package bytes again.
Canonical ownership
Noema's Tool / Capability Boundary owns versioned external-extension descriptors, admission decisions, least-authority activation, expiry, rollback, and invocation receipts. It does not absorb foreign plugin functionality or the following owners:
context-graph-contracts: provider-neutral released schema/profile/conformance for external capability artifacts once the current contract stack produces an immutable release;appguardrail: package/manifest/hook/prompt/MCP supply-chain scanning and SARIF; extend current PR #1036 through a non-duplicative successor;quarantine-sandbox-runtime: isolated execution of untrusted hooks, scripts, MCP binaries, and package analysis;EgressWeave: outbound host/method/size/response policy;contextual-orchestrator: model/provider discovery, capability routing, andorchestrator/free; no plugin-owned provider routing or provider credentials;keyverse: human/service identity and secret handles; raw secrets never enter plugin prompts, manifests, traces, or receipts;macos_utility_packs: local developer-workstation reconciliation after released admission evidence exists;Noema may use a narrow local port/test double before a released shared contract exists, but must fail closed rather than read a sibling PR head, mutable branch, or unpublished package as authority.
Two distinct adoption modes
developer_assistAn approved plugin may be installed into a bounded maintainer/reviewer workspace. It can advise or propose changes, but it has no merge, release, deployment, secret, product-data, or production-state authority. Installation is disabled by default and scoped by repository class, role, client, and expiry.
product_runtime_adapterA CWL product must not embed or invoke the Claude plugin wrapper as its production runtime. When a plugin exposes a useful MCP/API/tool, the canonical owner adopts the underlying released protocol/API through a product-owned port/ACL, with its own tests, security controls, provenance, and release. The community catalog remains discovery evidence only.
External extension descriptor
Define one versioned, fail-closed descriptor containing at least:
All hashes and repository/source identities are canonical lowercase exact values. Branches, floating tags, mutable marketplace names, self-asserted scan success, or a plugin author's prose are not admission authority.
Admission state machine
State transitions are append-only evidence.
approved_for_pilotis notactive; an activation is bound to exact product/repository, user/service role, policy version, artifact digest, and time interval.Initial pilot portfolio
Only the following narrow candidates should enter evaluation first. None is active by this issue alone.
rust-best-practicesdeveloper_assist; advice only; repository rules and primary Rust documentation remain authoritativesecurity-scanningdeveloper_assist; never a required scanner/status and never a replacement for AppGuardrail/CodeQL/Semgrep/Strixaccessibilitydeveloper_assist; no conformance/certification claim without executable WCAG/AT/E2E evidencesupabase-postgres-best-practicesDo not adopt duplicate wrappers for capabilities already provided through installed official CWL connectors such as Figma and Vercel unless a measured gap and non-overlapping contract are recorded.
Mandatory rejection or escalation
Reject or require explicit security/owner review when an extension requests any of the following:
OPENAI_API_KEY,NVIDIA_NIM_API_KEY*,BYTEZ_API_KEY,OPENROUTER_API_KEY, or provider/model routing outside contextual-orchestrator;curl | sh, mutable dependency refs, unsigned binaries, hidden post-install behavior, or source/artifact mismatch;TDD acceptance
RED tests must prove at least:
GREEN requires the smallest Noema-owned implementation behind Tool / Capability ports, executable admission and activation APIs, deterministic receipts, 100% owned production statement/branch coverage, public API docs/docstrings, property/hostile-input tests, exact-head CI/security/package/SBOM/provenance, and rollback/disable rehearsal.
Product adoption manifest
Each consumer repository declares capability demand rather than a plugin name, for example
.cwl/external-capabilities.yaml:The repository contains no upstream source copy and no mutable installation command. Central
.githubvalidation must later verify this manifest against an immutable released Noema/contract artifact, exact current head, AppGuardrail evidence, and allowed repository scope.Documentation and traceability
Alongside executable implementation, update PRD/TRD/ARCHITECTURE/Context Map/Ubiquitous Language/Threat Model/OPERABILITY/TEST_STRATEGY/ADR/UML and
docs/product-technical-gap-baseline.mdwith:Delivery order
context-graph-contracts; until then keep a local fail-closed port/test double only..githubconsumer-manifest validation.macos_utility_packsdiscovery-only then approved-pilot reconciliation.Non-goals
Related: #9, #27, #66, #227, #541, PR #542;
ContextualWisdomLab/appguardrail#1036;ContextualWisdomLab/macos_utility_packs#3.