Protocol proposals use a lightweight RFC (Request for Comments) process to ensure material changes are motivated, reviewed, and recorded before they reach the specification. This page describes when the process applies, how to submit a proposal, and what a decision record looks like.Documentation Index
Fetch the complete documentation index at: https://docs.adcontextprotocol.org/llms.txt
Use this file to discover all available pages before exploring further.
What requires an RFC
| Change | Requires RFC |
|---|---|
| Schema field removed or renamed | Yes |
| Task added or removed | Yes |
Normative language changed (MUST / SHOULD / MAY) | Yes |
| Compatibility surface altered — default value, field type, required↔optional | Yes |
| Optional schema field added | No |
| New enum value appended | No |
| Doc wording clarified without semantic change | No |
| Typo fix | No |
| Internal tooling, CI, or infra | No |
Docs navigation changes (docs.json) | No |
Lifecycle
Draft
Open a GitHub issue using the proposal template as the body. Title format:
RFC: <short description>. Add the rfc label. The author should solicit early feedback from working group members or affected implementers before requesting formal review.WG review
The issue is queued for the next working group session. At least two working group members must complete the reviewer checklist before the WG votes. The review period is a minimum of seven calendar days after the issue is filed.
Decision
The WG records a decision — accepted, rejected, or deferred — by posting a decision record as a comment on the RFC issue. Dissent must be recorded even when consensus is reached.
Specification change
After the decision record exists and its status is accepted, any contributor may open the spec PR. The PR must reference the RFC issue with
Refs #N (not Closes #N) and may not merge until the decision record exists. The spec PR reviewer confirms the diff matches the accepted RFC scope. The final spec PR carries Closes #N to close the RFC issue on merge.An accepted RFC is the required trigger for each spec-lifecycle stage transition: it is what moves a feature from Draft → Proposed, or gates Deprecated → Sunset. No lifecycle transition is valid without a traceable, accepted decision record.Proposal template
Copy this into the GitHub issue body when filing an RFC:Decision-record format
Post this as a comment on the RFC issue after the WG vote. TheDissent section is required — omitting it signals that all reviewers explicitly confirmed no minority position existed.
See also
- Specification lifecycle — approved RFCs drive spec-lifecycle stage transitions (Draft → Proposed → Final, and Final → Deprecated); the dedicated page tracks #2441
- Governance overview — the three-party model and campaign governance domains
- Embedded human judgment — the principle behind the governance system that most RFCs serve