RFC | Title | Start | PR |
---|---|---|---|
<blank> |
TODO_TITLE |
TODO_START |
<blank> |
SEE README.md
for how to submit a new RFC, and 0001-using_rfcs.md
for why we are using an RFC process. Delete this line when done.
This is a one paragraph explanation of the issue and the proposal.
This section details why we are doing something, what use cases it supports, and what we expect the outcome to be.
This is a high level overview of the process. In this section, explain the proposal as if it was already used at your company and you were teaching it to a new engineer. That means you're probably including
- Introduction of new named concepts
- Explain things in terms of examples
- Explain the impact and how you want engineers to approach the feature and its goals
- If applicable, provide sample errors / warnings / or migration guidance
- If applicable, describe the differences required teaching this to new engineers vs existing engineers
This section provides space for deep technical details as required in the RFC. You need to hit on the following points in your reference implementation:
- It's interaction with other features / infrastructure
- It is reasonably clear how this would be implemented
- Corner cases are addressed through example You can (and should) expand on the examples you used in the Guide Implementation and provide additional context.
You should explain why we wouldn't do this. There is a cost associated with these changes, and while there wouldn't be an RFC if the benefits didn't outweigh the drawbacks, your readers might not know all of the tradeoffs being made.
You need to answer why this design is the right design. To do so, you need to understand all of the possible alternatives. You should list alternate designs and ideas and why they weren't considered for the solution. This ensures due diligence has been done on the proposal.
You should gather any open questions and either list them in the document (folks often use markdown quoting) or add them to this section at the end of the document. If you want to mark unresolved options inline
Open Question: this is an open question
Is the common format used. The quote and bold combination (plus its indent) makes it easy to spot when reading through the document.