Skip to content

Commit e366ea9

Browse files
committed
docs: update rfc process
1 parent 92f480b commit e366ea9

2 files changed

Lines changed: 36 additions & 1 deletion

File tree

README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,41 @@ The template keeps a compact RFC shape while borrowing the core proposal habits
7272
from Go and Rust: short summary, explicit motivation, concrete proposal text,
7373
rationale for the chosen approach, and clear unresolved questions.
7474

75+
## RFC Lifecycle
76+
77+
New RFCs start as pull requests and should not be merged to `main` while still
78+
in `draft` status.
79+
80+
Each new RFC also needs a discussion thread in
81+
[`maintainer-discussion`](https://discord.com/channels/1456350064065904867/1466324351862177815).
82+
83+
The expected flow is:
84+
85+
1. Open the RFC as a PR with `status: draft`.
86+
2. Leave `issue` blank until the RFC is accepted.
87+
3. Create a discussion thread in `maintainer-discussion`.
88+
4. If the RFC is accepted, create a GitHub issue for implementation, update the
89+
RFC to `status: accepted`, set `issue` to the GitHub issue URL, and then
90+
merge the RFC.
91+
5. Once implementation is complete, update the RFC status to `completed`.
92+
7593
RFC metadata should live in YAML frontmatter at the top of each RFC. The
7694
template currently uses these metadata keys:
7795

7896
- `title`
7997
- `authors`
8098
- `created`
8199
- `last_updated`
100+
- `status`
101+
- `issue`
82102
- `rfc_pr`
83103

104+
For new RFCs:
105+
106+
- `status` starts as `draft`
107+
- `issue` starts blank
108+
- `rfc_pr` should point to the RFC pull request
109+
84110
The expected top-level sections are:
85111

86112
- `Summary`

rfcs/0000-template.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,23 @@ authors:
44
- <Name>
55
created: <YYYY-MM-DD>
66
last_updated: <YYYY-MM-DD>
7-
rfc_pr: <pull request URL or TBD>
7+
status: draft
8+
issue:
9+
rfc_pr: <pull request URL>
810
---
911

1012
# Proposal: <Title>
1113

1214
> Copy this file to `<id>-<short-name>.md`. Place supporting diagrams and other
1315
> assets under a sibling folder named `<id>/`, then reference them with relative
1416
> paths such as `![](<id>/architecture-overview.png)`.
17+
>
18+
> New RFCs start as PRs and should remain unmerged while `status: draft`.
19+
> Create a discussion thread in `maintainer-discussion`.
20+
> Leave `issue` blank until the RFC is accepted. When accepted, create the
21+
> implementation GitHub issue, set `status: accepted`, fill in `issue` with the
22+
> issue URL, and merge the RFC. Once implementation is complete, update
23+
> `status: completed`.
1524
1625
## Summary
1726

0 commit comments

Comments
 (0)