# Architektur

Die Abhängigkeitsrichtung zeigt konsequent nach innen:

`Web / Persistence / Messaging -> Application -> Domain`

`claims-boot` ist der Composition Root. Das Modul darf alle Laufzeitmodule kennen, erzeugt aber keine Fachlogik. `claims-architecture-tests` prüft die Richtung automatisch. `claims-acceptance-tests` startet die reale Spring-Anwendung und durchläuft REST, Use Case, Domain und H2-Persistenz.

## Transaktionsgrenze

Die fachliche Transaktionsgrenze wird im Composition Root mit `TransactionTemplate` als Transactional Decorator um die schreibenden Use Cases gelegt. Dadurch werden Claim und Idempotency-Key atomar gespeichert. Für eine produktive PostgreSQL/JMS-Lösung sollte zusätzlich eine Transactional Outbox eingesetzt werden. Der vorhandene JMS-Adapter zeigt den technischen Anschluss, während die lokale Standardkonfiguration ohne Broker über den Logging-Adapter läuft.
