# ADR-003: Capability Delta Engine — one delta, many renderers - **Status:** Accepted - **Datum:** 2026-06-27 - **Typ:** Architektur-Entscheidung - **Bezug:** [ADR-002](ADR-002-transition-is-data-not-architecture.md), [`../transition-reasoning-spec-v1.md`](../transition-reasoning-spec-v1.md), Architektur-Freeze v1.0, [[transition-reasoning]], [[regulatory-intelligence-vision]] ## Kontext GAP-Analyse („Was fehlt mir / welche Informationen brauche ich noch?") und Maßnahmenpriorisierung („Womit soll ich anfangen?") wurden bisher als zwei Features gedacht. Sie sind aber **dieselbe Berechnung**: ``` Required Capabilities − Known Capabilities = Capability Delta ``` `Known` entsteht aus Company Profile + Zertifizierungen + Nachweisen + beantworteten Fragen (Company 2A). `Required` entsteht aus den Zielregelwerken (CRA, MaschinenVO, Data Act, …). Die Differenz ist das **Capability Delta**. Erst beim Output verzweigt es sich nach Zielgruppe. Das Risiko: das Delta in mehreren Engines getrennt neu zu berechnen (eine „Gap Engine", eine „Roadmap Engine"). Dann driften die Sichten auseinander und es gibt mehr als eine Wahrheit. ## Entscheidung 1. **Es gibt genau EINE Capability Delta Engine** (`compliance/transition_reasoning`, RS-005). Sie berechnet `Required − Known = Capability Delta` ein einziges Mal. 2. **Alle Zielgruppen-Outputs sind RENDERER über demselben Delta — keine zweite Berechnung:** - **Interview Renderer** — fehlende *Informationen* → Fragen (`TransitionQuestionRequest`, gebaut). - **Roadmap / Management Renderer** — fehlende *Capabilities* → Maßnahmen nach regulatorischem Hebel (`compliance/optimization`, gebaut). - **Evidence Renderer** — fehlende *Evidence* → Nachweis-Upload (später). - **(Ticket/Control Renderer)** — fehlende *Controls* → Tickets (später). 3. **Abhängigkeitsrichtung:** Renderer hängen von der Delta-Engine ab, nie umgekehrt (`optimization → transition_reasoning`, azyklisch). Die Delta-Engine bleibt hermetisch (0 Fremd-Import), damit sie die einzige Quelle der Wahrheit bleibt. 4. **Begriff:** „Gap" → **„Capability Delta"**. Es beschreibt präziser, was berechnet wird (eine Differenz von Fähigkeiten), und trägt durch alle Renderer. ## Konsequenzen - **Eine Wahrheit, viele Sichten.** Jede neue Capability, jedes neue Regelwerk und jeder neue Nachweis verbessert automatisch ALLE Renderer gleichzeitig — kein Sicht-Drift. - **Kundenreise in drei Fragen, eine Datenbasis:** (1) *Was gilt für mich?* → Reasoning/Scope → (2) *Was fehlt mir?* → Capability Delta → (3) *Womit anfangen?* → Optimierungsplan. - **Regulatory Leverage** (Roadmap-Renderer): `leverage(Maßnahme) = Anzahl Regelwerke/Anforderungen, die sie gleichzeitig schließt`. Ranking nach Hebel + kumulative Abdeckung + Budget-Auswahl. - **Welt-1-Disziplin:** der Prozentwert des Roadmap-Renderers ist ein exakter Abzählwert über die **identifizierten** Anforderungen (bekanntes Delta), **kein** „% gesetzeskonform" (Welt 2). - **Freeze-konform:** kein neues Metamodell, kein neuer Graph — Renderer sind reine, deterministische Sichten (computed-not-stored). Neue Regelwerke bleiben ein Datenproblem (ADR-002). - Diese ADR ist non-runtime → kein Deploy (siehe [ADR-001](ADR-001-runtime-deploy-policy.md)).