Overview
This section is primarily for me and for any other developer who wishes to contribute to the project. It describes architecture decisions, details the proposed architecture, explains why the decision was made, and shows how the chosen architecture aligns with project goals. Architecture decisions are too broad to include in the codebase, and having a record of them here allows me to review past decisions in the context in which they were taken. Changes to the project goals or problems caused by the current architecture often require rethinking the architecture, and having a record of past decisions helps in this process.