This directory contains RFCs (Request for Comments) for significant changes to the AI Context Protocol.
| RFC | Title | Status | Implemented |
|---|---|---|---|
| RFC-0001 | Self-Documenting Annotations | Implemented | 2025-12-21 |
| RFC-0002 | Documentation References and Style Guides | Implemented | 2025-12-22 |
| RFC-0003 | Annotation Provenance Tracking | Implemented | 2025-12-22 |
| RFC-0004 | Tiered Interface Primers | Implemented | 2025-12-25 |
| RFC-0005 | CLI Provenance Implementation | Implemented | 2025-12-22 |
| RFC-0006 | Documentation System Bridging | Implemented | 2025-12-24 |
| RFC-0007 | ACP Complete Documentation Solution (Umbrella) | Draft | - |
| RFC-0008 | ACP Type Annotations | Implemented | 2025-12-26 |
| RFC-0009 | Extended Annotation Types | Implemented | 2025-12-25 |
| RFC-0010 | ACP Documentation Generator | Draft | - |
| RFC-0011 | IDE and LSP Integration | Draft | - |
| Status | Description |
|---|---|
| Draft | Initial proposal, not yet formally submitted |
| Proposed | Submitted for review, discussion open |
| Accepted | Approved for implementation |
| Spec Implemented | Specification and schemas implemented; CLI pending |
| Implemented | Fully implemented in the codebase |
| Rejected | Not accepted (with documented reasons) |
RFCs are the mechanism for proposing significant changes to the ACP protocol. This includes:
- New annotation namespaces or major syntax changes
- New constraint types or behavioral changes
- Breaking changes to file formats (cache, config, schemas)
- Major new features affecting multiple components
- Process or governance changes
For smaller changes, use a standard GitHub Issue or Pull Request instead.
Draft → Proposed → Final Comment Period (FCP) → Accepted/Rejected → Implemented
- Draft: Author creates initial proposal
- Proposed: Formal submission for community review
- Final Comment Period (FCP): 10 days for final feedback before decision
- Accepted/Rejected: Maintainers make final decision
- Implemented: Code changes merged, RFC marked complete
Use the RFC Proposal Issue Template to submit a new RFC:
- Go to Issues → New Issue
- Select RFC Proposal
- Fill out the structured form
- Submit for initial discussion
The form guides you through all required sections and ensures completeness.
For contributors familiar with the process:
- Copy
TEMPLATE.mdto a new file:rfc-NNNN-short-name.md - Fill in all sections (see template for guidance)
- Submit a Pull Request
- Request review from maintainers
- RFCs are numbered sequentially:
RFC-0001,RFC-0002, etc. - Numbers are assigned when the RFC enters Proposed status
- Draft RFCs may use placeholder numbers until formal submission
All RFCs must follow the structure defined in TEMPLATE.md. Key sections include:
| Section | Required | Description |
|---|---|---|
| Summary | Yes | One-paragraph overview |
| Motivation | Yes | Problem statement, goals, non-goals |
| Detailed Design | Yes | Full technical specification |
| Schema Changes | If applicable | JSON schema modifications |
| Examples | Yes | Concrete usage examples |
| Drawbacks | Yes | Honest assessment of downsides |
| Alternatives | Yes | Other approaches considered |
| Compatibility | Yes | Backward/forward compatibility |
| Implementation | Yes | Phased implementation plan |
| Open Questions | If any | Unresolved decisions |
- Be responsive: Address feedback promptly
- Iterate: RFCs often go through multiple revisions
- Champion: Guide your RFC through the process
- Implement: If accepted, you're expected to help implement (or find someone who will)
- Be constructive: Focus on improving the proposal
- Ask questions: Clarify ambiguities early
- Consider impact: Evaluate backward compatibility, complexity, maintenance burden
- Suggest alternatives: If you disagree, propose concrete alternatives
RFCs are evaluated on:
- Alignment: Does it fit ACP's goals and philosophy?
- Feasibility: Can it be implemented reasonably?
- Compatibility: Does it break existing users?
- Complexity: Is the added complexity justified?
- Completeness: Are all details specified?
rfcs/
├── README.md # This file
├── TEMPLATE.md # RFC template
├── rfc-0001-*.md # Individual RFCs
├── rfc-0002-*.md
└── ...
- For RFC process questions: Open a Discussion
- For specific RFC feedback: Comment on the RFC's PR or linked issue
- For implementation questions: See the relevant RFC's implementation notes