docs: Schnittstellen-Notiz um Controls-Session-Abhängigkeit ergänzt

Ergänzt nach Rückmeldung der Controls-Session: ID-Stabilität schützt auch deren
atom_classification (~161k) + addressee (control_uuid-gebunden); deren Step-1/2 ist
additiv (tier/source_type/core_count/addressee, bricht Verträge nicht); eine
Wahrheit — Muster-Schicht aus atom_classification speisen, nicht neu ableiten.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-06-16 06:24:48 +02:00
parent a49adff814
commit f6fe592164
@@ -55,6 +55,32 @@ CRA-Maßnahmen laufen parallel weiter.
- `control_parent_links` (`source_regulation`, **`source_article`**)
- die Response-Form von `UseCaseControlsService.controls_for_use_case` (atom-grain)
> Bestätigt von der Controls-Session: deren laufende Step-1/2-Änderungen sind rein
> **additiv** (neue Felder `tier` / `source_type` / `core_count`, neue Spalte
> `addressee`) — diese Verträge bleiben also unverletzt.
## Gemeinsame ID-Stabilitäts-Abhängigkeit (beide Sessions)
Die geforderte stabile Muster-ID + `control_uuid → pattern`-Garantie schützt
**nicht nur die Maßnahmen-Schicht**, sondern genauso die laufende
Klassifikations-Arbeit der Controls-Session:
- `atom_classification` (≈161k Zeilen) + die neuen `addressee`-Tags + Provenance
hängen an `control_uuid → canonical_controls.id`.
- Wird bei einer Control-Neuerzeugung die `control_uuid` neu vergeben, sind diese
Klassifikationen **verwaist** — exakt das „chunk_hash"-Problem.
- **Anforderung an die Re-Generierung:** `control_uuid` erhalten **oder** einen
stabilen natürlichen Schlüssel mitliefern, an den sich beide Schichten neu
binden können.
## Eine Wahrheit, nicht zwei
`atom_classification` **IST** die Breite-Schicht (`use_case` / `sub_topic` /
`canonical_obligation`), auf die diese Notiz sich beruft. Die Controls-/
Muster-Schicht sollte daraus **gespeist** werden, nicht parallel neu ableiten —
sonst entsteht doppelte Wahrheit. Muster-Bildung und Klassifikation müssen auf
demselben kanonischen `sub_topic`/`canonical_obligation` aufsetzen.
## Aufgabenteilung
- **Controls-Session (core/control-pipeline):** MC-/Control-Neuerzeugung +