From 6a5023a4a042bee057ebd5ee65e4f4205cd95abf Mon Sep 17 00:00:00 2001 From: Thane Thomson Date: Tue, 8 Feb 2022 14:45:47 -0500 Subject: [PATCH] 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 --- docs/architecture/adr-template.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/architecture/adr-template.md b/docs/architecture/adr-template.md index 00e553437..22a0d5baf 100644 --- a/docs/architecture/adr-template.md +++ b/docs/architecture/adr-template.md @@ -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