@@ -54,6 +54,81 @@ to use GitHub Discussions.
5454
5555## Contribution Process
5656
57+ ### Significant Changes
58+
59+ Any significant change to the protocol requires a formal
60+ [ Enhancement Proposal] ( ../../issues/new?template=enhancement-proposal.md )
61+ and will require Technical Committee approval. Because a change to the protocol
62+ requires the entire adopting ecosystem to implement the change, we consider
63+ significant changes to include:
64+
65+ * Core Schema Modifications: Any change to JSON schemas, including
66+ adding/updating fields or field descriptions
67+ * Protocol Changes: Alterations to communication flows or expected behaviors of
68+ operations
69+ * New API Endpoints: Introduction of entirely new capabilities or services.
70+ * Backwards Incompatibility: Any "breaking" change that requires a major version
71+ increment.
72+
73+ An [ Enhancement Proposal] ( ../../issues/new?template=enhancement-proposal.md )
74+ is a living artifact that tracks a proposal through its lifecycle:
75+
76+ * Provisional: The initial stage where the idea is proposed and debated within
77+ the community. In order to move to the next stage, the enhancement proposal
78+ will need to be approved by a simple majority of the TC.
79+ * Implementable: The stage after the design has been finalized and has received
80+ formal approval from at least one maintainer and one member of the TC.
81+ * Implemented: The final stage, reached when the code for the feature is
82+ complete, tested, documented, and merged.
83+
84+ Every [ Enhancement Proposal] ( ../../issues/new?template=enhancement-proposal.md )
85+ must follow a standard template requiring sections for a Summary, Motivation,
86+ Detailed Design, Risks, a Test Plan, and Graduation Criteria (defining the path
87+ from Alpha to Beta to General Availability). This creates a permanent, public
88+ design record for the project's evolution.
89+
90+ ### Voting and decision making
91+
92+ The path below should be followed for resolving issues that are technical in
93+ nature.
94+
95+ * L1: routine changes (bug fixes, documentation, minor improvements) require
96+ approval from at least 2 Maintainers.
97+ * L2: Any technical issues that span across topics and/or cannot be resolved
98+ amongst maintainers and DWGs will be escalated to the TC. Significant changes
99+ affecting core protocol architecture must follow the Enhancement Proposal
100+ process, requiring TC approval before implementation.
101+ * L3: Any changes made to the Governance process (e.g updating the
102+ [ GOVERNANCE.md] ( GOVERNANCE.md ) file) or any changes that impact the core
103+ protocol’s scope or adoption, must be approved by Governance Council (GC).
104+
105+ The TC reserves the right to stop any discussions deemed non-critical to the
106+ protocol.
107+
108+ ### Versioning
109+
110+ The base protocol uses date based versioning. Major version increments (breaking
111+ changes) require a majority Governing Council approval due to the high cost to
112+ the ecosystem. A quorum requires all Governing Council members (or appropriate
113+ representatives) to be present for decision-making. New features should
114+ typically be attempted through the extensions framework first. If an extension
115+ achieves significant usage, it can be considered for adoption into the next
116+ minor version of the core.
117+
118+ ### Adding new extensions and capabilities to the core protocol
119+
120+ UCP is designed to be very extensible while keeping the core protocol light. A
121+ core principle of UCP is to ensure that the set of extensions and capabilities
122+ defined in UCP have broad ecosystem support. Vendors should first create
123+ capabilities & extensions in vendor-specific namespace pattern
124+ (e.g. com.{vendor}.* ) for new use cases. Requests to add new capabilities and
125+ extensions should only be submitted when there is proven widespread adoption of
126+ vendor-specific capabilities and extensions. See
127+ [ Spec URL Binding] ( https://ucp.dev/specification/overview/#spec-url-binding )
128+ and [ Governance Model] ( https://ucp.dev/specification/overview/#governance-model )
129+ for more details on using namespace pattern for creating vendor-specific
130+ capabilities and extensions.
131+
57132### Code Reviews
58133
59134All submissions, including submissions by project members, require review. We
@@ -69,21 +144,21 @@ add `!` before the colon: `type!: description`.
69144
70145** Common Types:**
71146
72- - ` feat ` : A new feature
73- - ` fix ` : A bug fix
74- - ` docs ` : Documentation only changes
75- - ` style ` : Changes that do not affect the meaning of the code
76- - ` refactor ` : A code change that neither fixes a bug nor adds a feature
77- - ` perf ` : A code change that improves performance
78- - ` test ` : Adding missing tests or correcting existing tests
79- - ` chore ` : Changes to the build process or auxiliary tools and libraries
147+ * ` feat ` : A new feature
148+ * ` fix ` : A bug fix
149+ * ` docs ` : Documentation only changes
150+ * ` style ` : Changes that do not affect the meaning of the code
151+ * ` refactor ` : A code change that neither fixes a bug nor adds a feature
152+ * ` perf ` : A code change that improves performance
153+ * ` test ` : Adding missing tests or correcting existing tests
154+ * ` chore ` : Changes to the build process or auxiliary tools and libraries
80155
81156** Examples:**
82157
83- - ` feat: add new payment gateway `
84- - ` fix: resolve crash on checkout `
85- - ` docs: update setup guide `
86- - ` feat!: remove deprecated buyer field from checkout `
158+ * ` feat: add new payment gateway `
159+ * ` fix: resolve crash on checkout `
160+ * ` docs: update setup guide `
161+ * ` feat!: remove deprecated buyer field from checkout `
87162
88163### Linting and Automated Checks
89164
0 commit comments