This is a location to record all high-level architecture decisions in the tendermint-rs project.
You can read more about the ADR concept in this blog post.
An ADR should provide:
- Context on the relevant goals and the current state to explain why a decision must be made now
- The decision that will allow us to achieve the goals
- Summary of pros and cons if we make the decision
- References
- Changelog
Note the distinction between an ADR and a spec. The ADR provides the context, intuition, reasoning, and justification for a change in architecture, or for the architecture of something new. The spec is a much more compressed and streamlined summary of everything as it is or should be.
If recorded decisions turned out to be lacking, convene a discussion, record the new decisions here, and then modify the code to match.
Note the context/background should be written in the present tense.
To suggest an ADR, please make use of the ADR template provided.