Update ADR template

The reason for this proposed update to the ADR template is twofold:

1. There's currently no easy way to cross-reference between ADRs and
   issues/PRs on GitHub. This may be easy to manage for those with
   context while they're working on implementing an ADR, but after time
   passes and for complex ADRs it gets more difficult for newcomers to
   the codebase to track both the implementation status of the ADR or
   its historical context and discussions.
2. We should not allow for "proposed" ADRs. An ADR is a **decision
   record**, which implies acceptance, and not a proposal. RFCs provide
   a mechanism to make proposals.

Signed-off-by: Thane Thomson <connect@thanethomson.com>
This commit is contained in:
Thane Thomson
2022-02-08 14:45:47 -05:00
parent fd50d90b70
commit 6a5023a4a0

View File

@@ -6,12 +6,18 @@
## Status
> A decision may be "proposed" if it hasn't been agreed upon yet, or "accepted"
> once it is agreed upon. Once the ADR has been implemented mark the ADR as
> "implemented". If a later ADR changes or reverses a decision, it may be marked
> as "deprecated" or "superseded" with a reference to its replacement.
{Deprecated|Declined|Accepted|Implemented}
> An architecture decision is considered "proposed" when a PR containing the ADR
> is submitted. An ADR that is merged is automatically considered "accepted",
> and its implementation status must be tracked via a tracking issue, milestone
> or project board.
>
> Link to the relevant tracking mechanism in this section. For example:
>
> [Tracking issue](https://github.com/tendermint/tendermint/issues/123)
> [Milestone](https://github.com/tendermint/tendermint/milestones/123)
> [Project board](https://github.com/orgs/tendermint/projects/123)
>
> If an ADR is deprecated, simply write "Deprecated" in this section.
## Context