Skip to content

ADR-NNNN — <a class="headerlink" href="#adr-nnnn" title="Permanent link">¶</a></h1> <p><strong>Status:</strong> Proposed | Accepted | Superseded | Rejected | Deprecated <strong>Date:</strong> YYYY-MM-DD <strong>Supersedes:</strong> ADR-NNNN, or — <strong>Superseded by:</strong> ADR-NNNN, or —</p> <hr /> <h2 id="context">Context<a class="headerlink" href="#context" title="Permanent link">¶</a></h2> <p>What is the situation that forces a decision? Be concrete and neutral.</p> <p>Include: - the constraint or problem; - what the legacy implementation did, with a citation into <code>Documentation/Legacy/</code>; - any engine facts that bear on it, with a link to the S&box documentation; - what happens if we decide nothing.</p> <p>Do not argue for the outcome here. Someone who disagrees with the decision should still agree this section is accurate.</p> <h2 id="decision">Decision<a class="headerlink" href="#decision" title="Permanent link">¶</a></h2> <p>What we are doing, stated in one or two sentences, in the active voice.</p> <blockquote> <p>We will …</p> </blockquote> <p>Then the detail: interfaces, formats, boundaries — enough that the decision is unambiguous.</p> <h2 id="alternatives-considered">Alternatives considered<a class="headerlink" href="#alternatives-considered" title="Permanent link">¶</a></h2> <p>For each, in a form that is fair to it:</p> <h3 id="_1"><Alternative><a class="headerlink" href="#_1" title="Permanent link">¶</a></h3> <p>What it is. Why it is attractive. Why we did not choose it.</p> <p>An alternative dismissed in one line was not seriously considered, and the ADR is weaker for it. If there genuinely was no alternative, this decision probably did not need an ADR.</p> <h2 id="consequences">Consequences<a class="headerlink" href="#consequences" title="Permanent link">¶</a></h2> <h3 id="positive">Positive<a class="headerlink" href="#positive" title="Permanent link">¶</a></h3> <p>What gets easier or safer.</p> <h3 id="negative">Negative<a class="headerlink" href="#negative" title="Permanent link">¶</a></h3> <p>What gets harder, slower, or more expensive. <strong>Be honest.</strong> An ADR with no negative consequences is either trivial or dishonest, and the next reader will trust it less.</p> <h3 id="neutral">Neutral<a class="headerlink" href="#neutral" title="Permanent link">¶</a></h3> <p>What changes without being better or worse — new conventions, things people must now learn.</p> <h2 id="compliance">Compliance<a class="headerlink" href="#compliance" title="Permanent link">¶</a></h2> <p>How we will know this decision is being followed: a test, an analyzer, a review checklist item, or an explicit note that it is enforced by convention only.</p> <h2 id="notes">Notes<a class="headerlink" href="#notes" title="Permanent link">¶</a></h2> <p>Open questions, things to revisit, and the conditions under which we would reconsider.</p> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type="button" class="md-top md-icon" data-md-component="top" hidden> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class="md-footer"> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class="md-copyright"> Made with <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener"> Material for MkDocs </a> </div> </div> </div> </footer> </div> <div class="md-dialog" data-md-component="dialog"> <div class="md-dialog__inner md-typeset"></div> </div> <script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.indexes", "navigation.top", "navigation.footer", "search.suggest", "search.highlight", "content.code.copy", "content.action.edit", "toc.follow"], "search": "../../assets/javascripts/workers/search.f8cc74c7.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src="../../assets/javascripts/bundle.c8b220af.min.js"></script> </body> </html>