EP-001C-GO-DOMAIN-REPOSITORY
EP-001C – Go Domain und Repository Layer#
Ergebnis#
EP-001C materialisiert das kanonische Domain Model als kompilierbaren Go-Kern, ohne REST- oder UI-Verträge vorwegzunehmen.
Struktur#
internal/sharedkernel: fachliche IDs, Sprachcodes und ChangeContext.internal/artifacts: Domain, Repository-Port und MariaDB-Adapter.internal/relationships: Domain, Repository-Port und MariaDB-Adapter.internal/localization,translation,audit,roundtrip: erste fachliche Typen.internal/persistence/migrations: wiederverwendbarer Migration Runner.
Regeln#
- Adapter hängen von Ports und Domain-Typen ab, niemals umgekehrt.
database/sqlbleibt im Adapter-/Persistence-Bereich.- Schreiboperationen tragen
ChangeContextmit Akteur, Zeit, Request- und Roundtrip-ID. - Artifact-Revision, AuditEvent und OutboxEvent werden in derselben Transaktion geschrieben.
- Optimistische Konflikte werden über den erwarteten aktuellen Revisionsstand erkannt.
- Ein konkreter MariaDB-Treiber wird erst im Composition Root verdrahtet.
Noch nicht enthalten#
- HTTP-Server und REST-DTOs
- Authentifizierung und Session-Handling
- JavaScript-Frontend
- vollständige Application Services für alle Building Blocks