mvest soll alle relevanten Architektur-Entscheidungen als ADRs dokumentieren. Damit ADRs konsistent, lesbar und visuell ansprechend sind, brauchen wir ein festes Format, Konventionen für Erstellung und Status-Übergänge sowie eine klare Sprach-Wahl.
Diese ADR wurde rückwirkend geschrieben, nachdem sich das Format in ADR-0003 bis ADR-0007 und ADR-0014 in der Praxis etabliert hatte. Sie dokumentiert, was bereits gelebt wird, und macht es zur verbindlichen Norm für künftige ADRs.
Wir nutzen Option B: handgeschriebenes HTML in adr/ mit einem
gemeinsamen Stylesheet und festen Konventionen.
adr/ im Repo-Root.NNNN-kebab-case-titel.html — vierstellige Nummer, mit Bindestrichen kleingeschriebener Titel. Beispiel: 0006-tool-architektur-mcp.html.adr/assets/style.css. Pro-ADR-spezifische Assets (Bilder, SVGs) unter adr/assets/<adr-id>/.adr/index.html listet alle ADRs mit Status und Datum.adr/template.html als Kopiervorlage für neue ADRs.<header class="adr-header">):
<nav><a href="index.html">← ADR-Index</a></nav>)<h1>: ADR-NNNN: Titel<dl class="meta">) mit Pflichtfeldern:
YYYY-MM-DD, Datum der letzten Statusänderung<section id="..."> mit <h2>):
<footer class="adr-footer">) mit ADR-ID, Datum, Link zurück zum Index.<span class="status {accepted|proposed|deprecated|superseded}"><div class="options-grid"> mit Kindern <div class="option">. Die gewählte Option bekommt zusätzlich class="option chosen".<p class="pros"> bzw. <p class="cons">.<p class="callout {info|warn|success}"> für hervorgehobene Hinweise.<table>, vom Stylesheet automatisch gestylt.<div class="mermaid">, Mermaid-Init im <head> mit festgelegtem Light-Theme (siehe Template).<pre><code>, kein Syntax-Highlighting in v1.| Status | Bedeutung | Übergang |
|---|---|---|
| Proposed | ADR ist geschrieben, aber noch nicht abgenommen. Entscheidung ist zur Diskussion. | Default beim Erstellen. |
| Accepted | Entscheidung ist getroffen und verbindlich. | Nur bei expliziter Zustimmung des Deciders ("passt", "accepted", o. ä.). |
| Deprecated | Entscheidung gilt nicht mehr; der Kontext ist obsolet, ohne dass eine ersetzende ADR existiert. | Manuell, mit Begründung im ADR-Body. |
| Superseded | Entscheidung wurde durch eine spätere ADR ersetzt. | Pflichtfeld Superseded by: ADR-XXXX in der Meta. |
Wichtige Regel: Eine neu geschriebene ADR steht immer auf
Proposed. Der Wechsel auf Accepted erfolgt erst nach expliziter
Bestätigung durch den Decider — nicht durch den Autor selbst, wenn das verschiedene Personen
sind. Im Falle von KI-assistierter ADR-Erstellung: die KI darf nicht eigenmächtig
„Accepted" setzen.
ADR-NNNN und ggf. <a href="...">.Superseded by: ADR-XXXX ergänzt. Die neue ADR bekommt Supersedes: ADR-YYYY.mvest.malte.io/adr/).