diff --git a/docs-src/development/controls-measures-interface.md b/docs-src/development/controls-measures-interface.md index 571fa6ab..362b1c11 100644 --- a/docs-src/development/controls-measures-interface.md +++ b/docs-src/development/controls-measures-interface.md @@ -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 +