From 6ce8ceac8298e9a6267db7fd836113bf1c3c2634 Mon Sep 17 00:00:00 2001 From: Dylan Koch Date: Tue, 29 Sep 2026 20:23:46 +0000 Subject: [PATCH] docs: clarify self-hosting for vendor-specific extensions and handlers --- .../ISSUE_TEMPLATE/enhancement-proposal.yml | 4 +++ .github/ISSUE_TEMPLATE/feature-request.yml | 4 +++ .github/pull_request_template.md | 1 + CONTRIBUTING.md | 33 +++++++++++++------ 4 files changed, 32 insertions(+), 10 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/enhancement-proposal.yml b/.github/ISSUE_TEMPLATE/enhancement-proposal.yml index fec2366..2feb658 100644 --- a/.github/ISSUE_TEMPLATE/enhancement-proposal.yml +++ b/.github/ISSUE_TEMPLATE/enhancement-proposal.yml @@ -3,6 +3,10 @@ description: This is a template for submitting an enhancement proposal. title: "[Proposal]: " labels: ["enhancement-proposal"] body: + - type: markdown + attributes: + value: | + > **Note:** The `Universal-Commerce-Protocol/ucp` repository only hosts vendor-neutral, cross-organization specifications and schemas under the `dev.ucp.*` namespace. Vendor- or organization-specific capabilities, extensions, and payment handlers (`com.{vendor}.*`, `org.{org}.*`) are **self-hosted** on your organization's domain and do not require an Enhancement Proposal or pull request to this repository. See [Namespace Governance](https://ucp.dev/latest/specification/overview/#namespace-governance) for details. - type: textarea id: summary attributes: diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml index 4a91594..9c8d988 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.yml +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -2,6 +2,10 @@ name: Feature request description: Suggest an idea for this project title: "[Feat]: " body: + - type: markdown + attributes: + value: | + > **Note:** The `Universal-Commerce-Protocol/ucp` repository only hosts vendor-neutral, cross-organization specifications and schemas under the `dev.ucp.*` namespace. Vendor- or organization-specific capabilities, extensions, and payment handlers (`com.{vendor}.*`, `org.{org}.*`) are **self-hosted** on your organization's domain and do not require an issue or pull request in this repository. See [Namespace Governance](https://ucp.dev/latest/specification/overview/#namespace-governance) for details. - type: textarea id: problem attributes: diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index e464cac..f2659fe 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -29,6 +29,7 @@ _Please select one or more categories that apply to this change._ - [ ] I have added tests that prove my fix is effective or that my feature works. - [ ] New and existing unit tests pass locally with my changes. - [ ] (For Core/Capability) I have included/updated the relevant JSON schemas. +- [ ] (For Core/Capability) Any new capability, extension, or payment handler is vendor-neutral (`dev.ucp.*`) rather than organization-specific (which should be [self-hosted](https://ucp.dev/latest/specification/overview/#namespace-governance) under the organization's reverse-domain namespace). - [ ] I have regenerated Python Pydantic models by running generate_models.sh under python_sdk. ## Screenshots / Logs (if applicable) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 802565c..78ce900 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -137,16 +137,29 @@ minor version of the core. ### Adding new extensions and capabilities to the core protocol -UCP is designed to be extensible while keeping the core protocol light. A -core principle of UCP is to ensure that the set of extensions and capabilities -defined in UCP have broad ecosystem support. Vendors should first create -capabilities & extensions in vendor-specific namespace pattern -(e.g. com.{vendor}.\*) for new use cases. Requests to add new capabilities and -extensions should only be submitted when there is proven widespread adoption of -vendor-specific capabilities and extensions. See -[Spec URL Binding](https://ucp.dev/specification/overview/#spec-url-binding) -and [Governance Model](https://ucp.dev/specification/overview/#governance-model) -for more details on using namespace pattern for creating vendor-specific +UCP is designed to be extensible while keeping the core protocol light. A core +principle of UCP is to ensure that the set of capabilities, extensions, +services, and payment handlers defined in the core `dev.ucp.*` namespace have +broad, cross-organization ecosystem support. + +**Self-Hosting Vendor-Specific Definitions:** The +`Universal-Commerce-Protocol/ucp` repository only hosts core protocol +specifications and schemas under `dev.ucp.*` (published at `ucp.dev`). You **do +not** need to open a pull request to this repository to launch a vendor- or +organization-specific capability, extension, service, or payment handler. +Instead, define it under your organization's reverse-domain namespace (e.g., +`com.{vendor}.*`, `org.{org}.*`) and self-host its specification (`spec`) and +JSON Schema (`schema`) URLs on your own domain. + +Requests to add new capabilities or extensions to `dev.ucp.*` should only be +submitted when a capability is vendor-neutral and there is proven widespread +adoption across multiple independent organizations. See +[Namespace Governance](https://ucp.dev/latest/specification/overview/#namespace-governance) +(specifically +[Authority Binding](https://ucp.dev/latest/specification/overview/#authority-binding) +and +[Governance Model](https://ucp.dev/latest/specification/overview/#governance-model)) +for full details on reverse-domain namespaces and self-hosting vendor-specific capabilities and extensions. ### Code Reviews