``
Substantial changes go through the RFC process before implementation.
ADRs (docs/adr/) record decisions; RFCs solicit input on
proposals.
Open an RFC if your change touches any of:
- DynamoDB wire-protocol response shapes or new API operations
- The
Storagetrait or any storage backend contract - SigV4 authentication or the authorization model
- On-disk format, schema, or migration semantics
- Public CLI flags or the configuration file format
- A significant new feature or subsystem, even if it does not directly touch the surfaces above (for example, replication, multi-region, change data capture, a new auth provider, a new query interface)
An RFC is not required for bug fixes, dependency bumps, internal refactors that preserve public behavior, documentation, or tests.
If you are unsure, open an issue describing the change. A maintainer will tell you whether an RFC, an ADR, or neither is needed.
- Draft. Copy
0000-template.mdtodocs/rfcs/0000-my-proposal.md(keep0000until accepted). Open a PR. The PR is the discussion thread for now — if conversations grow long enough that the PR becomes hard to follow, a maintainer may move the broad design debate to GitHub Discussions and reserve the PR for line-level comments. - Under Review. A maintainer assigns reviewers from
.github/CODEOWNERS: at minimum two maintainers, including at least one code owner for each surface the RFC affects. Discussion happens inline on the PR. - Final Comment Period (FCP). When reviewers are aligned, a maintainer
announces a 7-day FCP in the PR and updates
FCP ends:in the RFC. The RFC is accepted at the end of FCP if at least two maintainers have approved, no maintainer has requested changes, and no new substantive objections were raised during the FCP. A new substantive objection resets the FCP clock by another 7 days. - Accepted. The PR is merged with a real number assigned by the maintainer
(next unused
NNNN). Implementation PRs reference the RFC by number. - Rejected or Withdrawn. Merged into
docs/rfcs/withStatus: RejectedorStatus: Withdrawnso the rationale is preserved for future contributors.
(none yet)