docs/book/src/contributing/rfcs.md
Substantial changes to ZeroClaw's architecture, user-facing surface, or core policies go through an RFC before implementation. The process exists to surface design trade-offs, give maintainers and contributors a chance to push back early, and leave a searchable record of why a decision was made.
Governance, RFC ratification rules, and voting thresholds are defined in RFC #5577.
| Change | RFC first? |
|---|---|
| New channel implementation | No — open a PR |
| New provider implementation | No — open a PR |
| New tool | No — open a PR |
| Bug fix | No — open a PR |
| New config key | Depends — if it fits within existing schema shape, PR. If it introduces a new subsystem or paradigm, RFC |
| Changing an established default | Yes — RFC |
| Schema migration that breaks existing configs | Yes — RFC |
| Cross-cutting refactor affecting multiple crates | Yes — RFC |
| New subsystem (e.g. a new security layer, a new protocol) | Yes — RFC |
| Changes to governance, release process, or contribution model | Yes — RFC |
Rule of thumb: if you'd want a second opinion before writing the code, it's an RFC. If it's obvious what to build, it's a PR.
RFCs are GitHub Issues tagged type:rfc. Title format:
RFC: <short description of the proposal>
Body structure — adapt to the size of the proposal:
Filed RFCs go through a discussion window (default 7 days, longer for larger proposals). Anyone can comment. Maintainers weigh in. The RFC author iterates on the body in response.
Per RFC #5577, RFCs are ratified by a two-thirds maintainer majority. The outcomes:
status:accepted label and a maintainer comment summarising the final shape. Implementation PRs can then proceed.status:rejected label and a rationale. The record lives; re-proposing requires a materially different take.status:deferred; revisit later.Implementation PRs should:
Implements #5574 phase 1)Large RFCs often ship across multiple PRs over several releases. The RFC's tracking comment gets updated as phases land.
Open RFCs are the best primary source for "what's coming next" in ZeroClaw. Browse:
gh issue list --repo zeroclaw-labs/zeroclaw --label type:rfc --state open
As of writing, notable open RFCs:
These shape everything else. Read them before proposing cross-cutting changes:
RFC authorship by AI assistants (with a human sponsor) is explicitly permitted per RFC #5615. If an RFC was drafted with AI help:
This has worked well so far — treat AI drafts as first-class but remember the sponsor is accountable.