# Reference Scenario Suite v1

> **Kein Doku-Artefakt — die erste Ground Truth / Living Reference Suite.** Erzeugt aus den REALEN deployten Engines (aktueller deployter main) via `reference_scenarios/generate.py`. Jede `Architecture Coverage`-Zelle ist aus dem echten Lauf ABGELEITET; sobald eine Domaene landet, kippt die Zelle automatisch (z. B. Sz2/Environmental UNSUPPORTED -> PASS). Beantwortet dauerhaft: „Ist BreakPilot besser als vor sechs Monaten?" — anhand echter Kundensituationen, nicht LOC.

Synthetische `Cert->Capability`-Mappings sind als ILLUSTRATIV markiert; die echte Tabelle gehoert Compliance Execution (siehe Master Capability Registry).

## Szenario 1 — Maschinenbauer mit ISMS + SBOM + Remote Access

**Frage:** „Was gilt fuer uns, und reicht das?"

**Input:** Maschine, vernetzt (Remote/Cloud), Firmware, Rolle Hersteller, Maerkte EU/DE; Company: ISMS (ISO27001) + SBOM + Incident Response.

**Expected Regulatory Map**

> Für Industrielle Verpackungsmaschine (machinery) — Maschine; vernetzt; Firmware; Rolle: manufacturer; Märkte: EU, DE gelten nach derzeitigem Stand wahrscheinlich: CRA, MaschinenVO, EMV. Unsicher (fehlende Fakten): RED, DataAct, NIS2. Ausgeschlossen: keine. Nicht abgedeckt (Regelkorpus fehlt): keine. Ermittelt: 12 registry-verlinkte Pflichten. Es wurden keine weiteren Regelwerke im aktuellen Korpus identifiziert.

- **CRA** (Cyber Resilience Act (EU) 2024/2847) — Pflichten: sbom_creation, provide_security_updates, support_period_maintenance, signed_update_integrity, vuln_handling_process, coordinated_vulnerability_disclosure, exploited_vuln_reporting_authorities, user_authentication_required, no_default_credentials, event_logging_security_events, remote_access_attack_surface_min, remote_access_confidentiality_integrity
- **MaschinenVO** (Maschinenverordnung (EU) 2023/1230) — Pflichten: Pflichten für dieses Regelwerk sind noch nicht registry-verlinkt.
- **EMV** (EMV-Richtlinie 2014/30/EU) — Pflichten: Pflichten für dieses Regelwerk sind noch nicht registry-verlinkt.
- _unsicher_ RED — fehlt: Besitzt das Produkt ein Funkmodul (WLAN, Bluetooth, Mobilfunk)?
- _unsicher_ DataAct — fehlt: Erzeugt das vernetzte Produkt nutzbare Produkt-/Nutzungsdaten?
- _unsicher_ NIS2 — fehlt: Unternehmensgröße (Mitarbeiterzahl / Umsatz)?, In welchem Sektor ist das Unternehmen tätig (Anhang I/II)?, Fällt das Unternehmen als wesentliche/wichtige Einrichtung unter NIS2?
- Overlap VULNERABILITY_HANDLING: vuln_handling_process, coordinated_vulnerability_disclosure
- Overlap SECURITY_UPDATES: provide_security_updates, signed_update_integrity
- 1 Nachweis `repo_scan` => 2 Pflichten
- 1 Nachweis `policy` => 5 Pflichten
- 1 Nachweis `ticket` => 3 Pflichten
- 1 Nachweis `test_report` => 3 Pflichten
- 1 Nachweis `config_export` => 6 Pflichten
- 1 Nachweis `pentest` => 3 Pflichten

**Input — Company Context** _(ILLUSTRATIVES Mapping: ISO27001 -> incident_response, supplier_management, asset_management)_

- candidate: cap_patch_management — declared (declaration:maschinenbau)
- candidate: cap_incident_response — inferred (certification:ISO27001)
- candidate: cap_supplier_management — inferred (certification:ISO27001)
- candidate: cap_asset_management — inferred (certification:ISO27001)
- CONFIRMED: cap_sbom_management — confirmed (Nachweis: sbom.json)

**Expected Interpretation**

> Auslegung „5 Jahre Updates -> CRA erfuellt" -> **uncertain**
> Ihre Interpretation ist wahrscheinlich unsicher. Kein bekanntes Auslegungsmuster erkannt — bewusst keine Scheinsicherheit. Diese Auslegung betrifft kein Regelwerk Ihrer aktuellen Produkt-Map.

**Expected RCI** _(CRA-Novelle gegen gespeicherte Baseline)_

> affects_product = True — 1 neu, 2 geändert, 0 entfällt, 0 bereits abgedeckt, 2 zu prüfen, 0 nicht relevant.
- cra_new_disclosure_duty -> **new** (fehlende Nachweise: -)
- sbom_creation -> **changed** (fehlende Nachweise: repo_scan)
- vuln_handling_process -> **changed** (fehlende Nachweise: policy, ticket)

**Expected Unsupported Domains**

- keine — alle getriggerten Domaenen sind im Korpus

**Known Gaps:** Interpretation kennt kein CRA-Muster (RS-001) · MaschinenVO/EMV-Pflichten nicht registry-verlinkt (RS-004) · cap/MCAP/Pflicht-Evidence nicht gejoint = Company-Gap (RS-003).

**Architecture Coverage**

| Layer | Status | Hinweis |
|---|---|---|
| Company Context | **PASS** | ISO27001 + SBOM + Declaration |
| Product Profile | **PASS** | Maschine, vernetzt, Firmware |
| Navigator | **PASS** | ready_for_scope |
| Scope | **PASS** | CRA/MaschinenVO/EMV + 3 unsicher |
| Regulatory Map | **PASS** | Overlaps + 1-Nachweis-N-Pflichten |
| CRA Obligations | **PASS** | 12 registry-verlinkt |
| MaschinenVO/EMV Obligations | **PARTIAL** | Scope ja, Pflichten nicht verlinkt → RS-004 |
| Interpretation | **PARTIAL** | kein CRA-Muster → RS-001 |
| RCI | **PASS** | 1 neu, 2 geaendert |
| Company Gap | **TODO** | cap↔MCAP↔Pflicht nicht gejoint → RS-003 |
| Environmental | **N/A** | keine Umwelt-Trigger |

## Szenario 2 — Industriespuelmaschine mit Abwasser/Chemikalien

**Frage:** „Welche Umweltbereiche sind noch nicht abgedeckt?"

**Input:** Maschine mit Chemikalien-Dosierung + Abwasserauslass; Umwelt-Trigger gesetzt.

**Expected Regulatory Map**

> Für Industriespuelmaschine (machinery) — Maschine; Firmware; Rolle: manufacturer; Märkte: EU, DE gelten nach derzeitigem Stand wahrscheinlich: CRA, MaschinenVO, EMV. Unsicher (fehlende Fakten): RED, DataAct, NIS2. Ausgeschlossen: keine. Nicht abgedeckt (Regelkorpus fehlt): environment_water, chemicals, energy_resources. Ermittelt: 10 registry-verlinkte Pflichten. Es wurden keine weiteren Regelwerke im aktuellen Korpus identifiziert.

- **CRA** (Cyber Resilience Act (EU) 2024/2847) — Pflichten: sbom_creation, provide_security_updates, support_period_maintenance, signed_update_integrity, vuln_handling_process, coordinated_vulnerability_disclosure, exploited_vuln_reporting_authorities, user_authentication_required, no_default_credentials, event_logging_security_events
- **MaschinenVO** (Maschinenverordnung (EU) 2023/1230) — Pflichten: Pflichten für dieses Regelwerk sind noch nicht registry-verlinkt.
- **EMV** (EMV-Richtlinie 2014/30/EU) — Pflichten: Pflichten für dieses Regelwerk sind noch nicht registry-verlinkt.
- _unsicher_ RED — fehlt: Besitzt das Produkt ein Funkmodul (WLAN, Bluetooth, Mobilfunk)?
- _unsicher_ DataAct — fehlt: Erzeugt das vernetzte Produkt nutzbare Produkt-/Nutzungsdaten?
- _unsicher_ NIS2 — fehlt: Unternehmensgröße (Mitarbeiterzahl / Umsatz)?, In welchem Sektor ist das Unternehmen tätig (Anhang I/II)?, Fällt das Unternehmen als wesentliche/wichtige Einrichtung unter NIS2?
- Overlap VULNERABILITY_HANDLING: vuln_handling_process, coordinated_vulnerability_disclosure
- Overlap SECURITY_UPDATES: provide_security_updates, signed_update_integrity
- 1 Nachweis `policy` => 5 Pflichten
- 1 Nachweis `ticket` => 3 Pflichten
- 1 Nachweis `test_report` => 3 Pflichten
- 1 Nachweis `config_export` => 4 Pflichten

**Expected Unsupported Domains**

- `environment_water` (Trigger: discharges_to_wastewater) -> Abwasser-/Gewässerrecht (z. B. AbwV, WRRL) — noch nicht im Korpus.
- `chemicals` (Trigger: uses_cleaning_chemicals) -> Chemikalienrecht (REACH/CLP/Detergenzien/Biozide) — noch nicht im Korpus.
- `energy_resources` (Trigger: consumes_energy_or_water) -> Energie-/Ökodesign-Recht — noch nicht im Korpus.

**Expected Interpretation** _(Umwelt -> bewusst nicht bewertet)_

> Ihre Interpretation ist wahrscheinlich unsicher. Kein bekanntes Auslegungsmuster erkannt — bewusst keine Scheinsicherheit. Für environment_water, chemicals liegt noch kein Regelkorpus vor — diese Aspekte werden nicht bewertet (future_corpus_needed).

**Known Gaps:** Abwasser/Chemikalien/Energie sind `unsupported_domain` — Environmental Corpus fehlt (RS-002).

**Architecture Coverage**

| Layer | Status | Hinweis |
|---|---|---|
| Product Profile | **PASS** | Maschine + Umwelt-Komponenten |
| Scope | **PASS** |  |
| Regulatory Map | **PASS** | CRA/MaschinenVO/EMV |
| Environmental (Abwasser/Chemikalien/Energie) | **UNSUPPORTED** | ehrlich „noch nicht im Korpus" → RS-002 |
| Interpretation (Umwelt) | **PARTIAL** | future_corpus_needed statt Scheinsicherheit |

## Szenario 3 — ISO27001-zertifiziertes Unternehmen

**Frage:** „Welche Capabilities sind inferred, declared oder confirmed?"

_ILLUSTRATIVES Mapping: ISO27001 -> incident_response, supplier_management, asset_management_

**Expected Company Capability Profile** _(4-Zustands-Trust-Model)_

- cap_incident_response — **inferred** (Quelle: certification:ISO27001)
- cap_supplier_management — **inferred** (Quelle: certification:ISO27001)
- cap_asset_management — **inferred** (Quelle: certification:ISO27001)
- cap_patch_management — **confirmed** (Nachweis: patch-policy.pdf)

**Expected Master Capability Registry** _(computed confidence, policy-versioniert)_

- ISO27001 *supports* MCAP-00001 -> inferred/low (policy capability-policy-v0) — computed, nicht gespeichert
- ir-runbook.pdf *confirms* MCAP-00001 -> confirmed/high — nur echtes Artefakt erreicht confirmed

**Known Gaps:** `cap_*` (Company 2A) und `MCAP-*` (Registry) sind noch nicht verlinkt (RS-003).

**Architecture Coverage**

| Layer | Status | Hinweis |
|---|---|---|
| Company Context | **PASS** | ISO27001 + Declaration + Evidence |
| Trust-State (declared/inferred/confirmed) | **PASS** | Zertifizierung nie confirmed |
| Master Capability Registry | **PASS** | computed confidence, policy-versioniert |
| cap ↔ MCAP Linking | **TODO** | zwei Vokabulare unverbunden → RS-003 |

## Szenario 4 — Transition ISO27001 → CRA (RS-005 + Pattern TP-ISO27001-CRA-v1)

_Frage: „Ich bin ISO27001-zertifiziert — was fehlt mir für den CRA?"_

**Input:** ISO27001-zertifiziert (Pattern TP-ISO27001-CRA-v1) → 8 ISMS-Capabilities inferred; Ziel CRA.

**Expected Transition Assessment (RS-005 v0 gegen den Pattern):**
> Ziel CRA · 17 zu klären, 0 bereits abgedeckt, 8 vermutlich vorhanden, 9 fehlt, 0 n/a, 0 nicht im Korpus.

**Delta zuerst (HIGH — fehlt einem ISO-27001-only-Hersteller):**
- `ce_conformity_assessment_and_technical_documentation` — intent=request_evidence, Nachweis=['technical_documentation', 'declaration_of_conformity']
- `coordinated_vulnerability_disclosure` — intent=verify_existence, Nachweis=['cvd_policy']
- `exploited_vuln_and_incident_reporting` — intent=verify_existence, Nachweis=['reporting_procedure']
- `product_cyber_risk_assessment` — intent=verify_existence, Nachweis=['product_risk_assessment']
- `public_security_advisories` — intent=verify_existence, Nachweis=['advisory_process']
- `sbom_creation` — intent=determine_sbom_maturity, Nachweis=['sbom']
- `secure_by_default_no_default_credentials` — intent=verify_existence, Nachweis=['config_export', 'test_report']
- `secure_signed_update_distribution` — intent=verify_existence, Nachweis=['config_export', 'test_report']
- `security_update_support_period` — intent=determine_duration, Nachweis=['support_policy', 'product_lifecycle_policy']

**Aus ISO27001 vermutlich abgedeckt (Produkt-Nachweis bestätigen):** incident_management, technical_vulnerability_management, supplier_security, access_control_and_authentication, cryptography, security_logging_and_monitoring, secure_development_lifecycle, asset_and_configuration_management

**Architektur-Test — trägt RS-005 den Pattern vollständig?** 17 Pattern-Capabilities → 17 Coverage + 17 Question-Requests → **ja, vollständig getragen**.

**Architecture Coverage**

| Layer | Status | Hinweis |
|---|---|---|
| Pattern-Load (YAML) | **PASS** | TP-ISO27001-CRA-v1 (draft, gold-standard) |
| Company 2A (habe) | **PASS** | ISO27001 → 8 inferred caps |
| RS-005 Planning Engine | **PASS** | Pattern → TransitionQuestionRequests |
| Transition ISO27001→CRA | **PASS** | 9 Delta-Fragen (HIGH) + 8 zu bestätigen |
| RS-005.1 Renderer (Fragetext) | **TODO** | verschoben — Engine liefert nur Requests |

## Gaps → Epics (Backlog — nur erfasst, NICHT implementiert)

| Epic | Titel | schliesst Coverage-Luecke |
|---|---|---|
| RS-001 | Interpretation Pattern Library | Sz1 Interpretation PARTIAL -> PASS (CRA-Muster) |
| RS-002 | Environmental Corpus (Pilotdomaene) | Sz2 Environmental UNSUPPORTED -> PASS |
| RS-003 | Capability Linking (cap↔MCAP) + Company-Gap | Sz1/Sz3 Company Gap TODO -> PASS |
| RS-004 | MaschinenVO/EMV Registry Linking | Sz1/Sz2 MaschinenVO/EMV PARTIAL -> PASS |

## Suite-Status (Roll-up)

- Coverage-Zellen gesamt: **25**
- PASS: **17** · PARTIAL: 3 · UNSUPPORTED: 1 · TODO: 3 · N/A: 1 · NEEDS_FACTS: 0
- Fortschritt = PASS-Anteil steigt, wenn Epics RS-001…004 landen (objektiver Maßstab, kein LOC).
