ADR-003-HUMAN-READABLE-CODE-CONTRACTS
ADR-003 – Menschenlesbare Code-Verträge#
Status#
Accepted for MVP-001.
Kontext#
GlossarbegriffEin Artefakt ist jede eindeutig identifizierbare fachliche, technische, organisatorische oder reale Einheit, die in der Engineering-Landschaft modelliert wird. Alles Modellierbare wird als Artefakt geführt. Dazu gehören unter anderem Systeme, Beziehungen, Features, Dokumente, ADRs, Tests, UI-Buttons, Menüs, Farben, Icons, Konfigurationen, Diagramme, Runtime-Ressourcen, fachliche Objekte und reale Objekte wie ein Blumentopf, sofern sie modelliert werden. Knowledge ist keine Sonderklasse. UI- und Applikationsartefakte werden fachlich nach demselben Grundmodell behandelt.Glossareintrag vollständig lesen Manifests verbinden größere Implementierungsblöcke mit GlossarbegriffEine Vision beschreibt eine langfristig gewünschte Wirkung und gibt der Weiterentwicklung eine gemeinsame Richtung.Glossareintrag vollständig lesen, Capabilities, Requirements, Tests und Runtime. Diese maschinenlesbare Traceability erklärt jedoch nicht hinreichend, warum ein Modul oder ein fachlicher Use Case existiert und welche Invarianten er schützt.
Vollständige Kommentare jeder GlossarbegriffEin Feature ist eine abgegrenzte, nutzbare und lieferbare Ausprägung einer Lösung.Glossareintrag vollständig lesen würden den GlossarbegriffCode ist eine ausführbare oder interpretierbare technische Realisierung, die durch Tests und Runtime-Evidence überprüfbar bleibt.Glossareintrag vollständig lesen überfrachten und rasch veralten. Fehlende fachliche Dokumentation erschwert dagegen Review, Wartung, Übergabe und die spätere Selbstdarstellung der Plattform.
Entscheidung#
Jeder größere Implementierungsblock und jeder fachlich relevante öffentliche Vertrag erhält einen Human-Readable Code Contract.
Der Contract besteht abgestuft aus:
- einer Modulbeschreibung (
doc.gooder Modul-README), - Dokumentation exportierter fachlicher Typen, Ports, Services und Methoden,
- kurzen Use-Case-Dokumenten für zentrale Abläufe,
- Verknüpfung dieser Dokumente im Artifact Manifest.
Private Hilfsfunktionen werden nur kommentiert, wenn das Warum, eine Invariante oder eine nicht offensichtliche technische Einschränkung erklärt werden muss.
Pflichtinhalte#
Ein Modulvertrag beschreibt mindestens:
- Zweck und fachliche GlossarbegriffProvenienz hält Quelle, Entstehungs- oder Ableitungskontext sowie gegebenenfalls Revision und Prüfung fest. Sie erklärt, warum etwas als Beleg erhalten bleibt, ohne daraus automatisch eine aktuell führende Aussage zu machen.Glossareintrag vollständig lesen,
- Verantwortungen,
- ausdrückliche Ausschlüsse,
- geschützte Invarianten,
- öffentliche Ports und zentrale Use Cases,
- Verweis auf das Artifact Manifest.
Ein Use-Case-Vertrag beschreibt mindestens:
- Zweck,
- Auslöser,
- Voraussetzungen,
- Ablauf auf fachlicher Ebene,
- Ergebnis und Nebenwirkungen,
- relevante Fehlerfälle,
- Berechtigungen,
- Tests und Traceability.
Konsequenzen#
- Kommentare erklären fachliche Absicht und nicht die Syntax.
- Code, Dokumentation und Tests werden auf Modulebene validierbar verbunden.
- Die Workbench kann später Modul- und Use-Case-Dokumentation importieren und darstellen.
- Änderungen an Verantwortung oder öffentlichem Vertrag erfordern eine Aktualisierung von Manifest und Human-Readable Contract.
- Es entsteht keine Pflicht zur Dokumentation jeder privaten Funktion.
Beziehungen#
- ArtifactModell für menschenlesbare Code-VerträgeTechnical documentation artifact.Vollständig lesen — constrains