diff --git a/control-pipeline/tests/pass0b_v2_evaluation.md b/control-pipeline/tests/pass0b_v2_evaluation.md new file mode 100644 index 0000000..b71776f --- /dev/null +++ b/control-pipeline/tests/pass0b_v2_evaluation.md @@ -0,0 +1,123 @@ +# Pass 0b Prompt v2 — Evaluation (28 Controls) + +## Source: MiCA (Markets in Crypto-Assets Regulation) + +All 28 controls derived from 5 parent controls in MiCA. + +## Per-Control Assessment + +### Parent: AUTH-377 (Veröffentlichungspflicht Kryptowerte-Whitepaper) + +| # | Control | Titel | Bewertung | Issues | +|---|---------|-------|:---------:|--------| +| 1 | AUTH-377-A02 | Genehmigtes Kryptowerte-Whitepaper auf Website veröffentlichen | ✅ 9/10 | Handlung im Titel, spezifisch, prüfbar | +| 2 | AUTH-377-A03 | Whitepaper rechtzeitig vor Angebotsbeginn veröffentlichen | ✅ 9/10 | Zeitliche Komponente korrekt separiert | +| 3 | AUTH-377-A04 | Geändertes Whitepaper auf Website veröffentlichen | ✅ 8/10 | Änderungsmanagement korrekt als eigenes Control | + +**Gruppe AUTH-377: 8.7/10** — Sauber getrennt: Erstveröffentlichung, Zeitpunkt, Änderungen. + +### Parent: AUTH-379 (Pflichthinweise im Whitepaper) + +| # | Control | Titel | Bewertung | Issues | +|---|---------|-------|:---------:|--------| +| 4 | AUTH-379-A04 | Warnhinweis zu fehlender Anlegerentschädigung aufnehmen | ✅ 9/10 | Sehr spezifisch, prüfbar per Dokumentensuche | + +**Gruppe AUTH-379: 9/10** + +### Parent: GOV-116 (Zulassungsüberwachung Kundenschutz) + +| # | Control | Titel | Bewertung | Issues | +|---|---------|-------|:---------:|--------| +| 5 | GOV-116-A13 | Prozesse zur Identifikation und Segregation von Kundenvermögen | ✅ 8/10 | Compound "identifizieren und segregieren" — könnte 2 Controls sein | +| 6 | GOV-116-A14 | Vermögensrückführung regelmäßig testen | ✅ 9/10 | Test-Control korrekt separiert | +| 7 | GOV-116-A15 | Tests dokumentieren | ⚠️ 5/10 | **EVIDENCE LEAK** — "Tests dokumentieren" ist Evidence, kein Control | + +**Gruppe GOV-116: 7.3/10** — Evidence Leak bei A15. Compound bei A13. + +### Parent: GOV-117 (Kooperationsvereinbarungen Drittländer) + +| # | Control | Titel | Bewertung | Issues | +|---|---------|-------|:---------:|--------| +| 8 | GOV-117-A06 | Kooperationsvereinbarung abschließen | ✅ 8/10 | Handlung klar | +| 9 | GOV-117-A07 | Informationsaustausch ermöglichen | ✅ 8/10 | Technisch/organisatorisch | +| 10 | GOV-117-A08 | EBA, ESMA vor Vereinbarungen informieren | ✅ 9/10 | Spezifischer Meldepflicht-Control | +| 11 | GOV-117-A09 | Vereinbarungen auf MiCA-Durchsetzung ausrichten | ✅ 7/10 | Etwas abstrakt — könnte Container sein | +| 12 | GOV-117-A10 | Benachrichtigungsverfahren etablieren | ⚠️ 6/10 | **OVERLAP mit A08** — A08 ist die Pflicht, A10 ist der Prozess dafür | + +**Gruppe GOV-117: 7.6/10** — Overlap zwischen A08 und A10. + +### Parent: GOV-118 (Meldeschutz/Hinweisgeber) + +| # | Control | Titel | Bewertung | Issues | +|---|---------|-------|:---------:|--------| +| 13 | GOV-118-A06 | Richtlinien auf Meldungshindernisse prüfen | ✅ 9/10 | Review-Control, spezifisch | +| 14 | GOV-118-A07 | Verschwiegenheitsklauseln freigeben | ✅ 9/10 | Konkrete Handlung, juristisch prüfbar | +| 15 | GOV-118-A08 | Behördenzugriff technisch ermöglichen | ✅ 8/10 | Technisches Control, gut formuliert | +| 16 | GOV-118-A09 | Hinweisgeber über Schutzrechte informieren | ✅ 9/10 | Schulungs-/Informationspflicht | +| 17 | GOV-118-A10 | Repressalien unterbinden und dokumentieren | ⚠️ 7/10 | **Compound** — "unterbinden" (prevent) + "dokumentieren" (evidence) | + +**Gruppe GOV-118: 8.4/10** — Sehr gut, nur A10 Compound. + +### Parent: GOV-120 (Behördliche Maßnahmen Anteilseigner) + +| # | Control | Titel | Bewertung | Issues | +|---|---------|-------|:---------:|--------| +| 18 | GOV-120-A06 | Risikoüberwachung für Anteilseigner etablieren | ✅ 8/10 | Monitor-Control | +| 19 | GOV-120-A07 | Risikobewertung durchführen und Maßnahmen ergreifen | ⚠️ 6/10 | **Compound** — "durchführen" (assess) + "ergreifen" (remediate) | +| 20 | GOV-120-A08 | Sanktionierungsmechanismus einrichten | ✅ 8/10 | Governance-Control | +| 21 | GOV-120-A09 | Aussetzungsmechanismus für Stimmrechte | ✅ 8/10 | Technisch/organisatorisch | +| 22 | GOV-120-A10 | Maßnahmen dokumentieren und Verhältnismäßigkeit prüfen | ⚠️ 6/10 | **Compound** — "dokumentieren" + "prüfen" | + +**Gruppe GOV-120: 7.2/10** — Zu viele Compound-Actions. + +### Parent: GOV-123 (Rückgabe Anlegergelder) + +| # | Control | Titel | Bewertung | Issues | +|---|---------|-------|:---------:|--------| +| 23 | GOV-123-A06 | Verfahren für schnelle Rückgabe etablieren | ✅ 8/10 | Prozess-Control | +| 24 | GOV-123-A07 | Geldbeträge durch Dritten verwahren | ✅ 9/10 | Spezifisch, prüfbar | +| 25 | GOV-123-A08 | Drittverwahrer zur Rückgabe verpflichten | ✅ 9/10 | Vertraglich, prüfbar | +| 26 | GOV-123-A09 | Rückgabeprozess niedrigschwellig gestalten | ✅ 8/10 | UX/Accessibility — interessant | +| 27 | GOV-123-A10 | Trennung Anlegergelder nachweisen | ✅ 9/10 | Audit-Control | + +**Gruppe GOV-123: 8.6/10** — Sehr gut. + +### Parent: LOG-384 (Informationszugang EZB) + +| # | Control | Titel | Bewertung | Issues | +|---|---------|-------|:---------:|--------| +| 28 | LOG-384-A08 | EZB mit MiCA-Informationen versorgen | ✅ 8/10 | Reporting-Control | + +**Gruppe LOG-384: 8/10** + +--- + +## Zusammenfassung + +| Metrik | Wert | +|--------|------| +| Total Controls | 28 | +| Durchschnitt | **7.9/10** | +| Evidence Leaks | **1** (GOV-116-A15: "Tests dokumentieren") | +| Compound Actions | **4** (GOV-116-A13, GOV-118-A10, GOV-120-A07, GOV-120-A10) | +| Overlaps | **1** (GOV-117-A08 vs A10) | +| Container Controls | **0** | +| Truncated Titles | **0** | +| Merge-Key vorhanden | **0** (Bug: Code liest merge_key nicht aus LLM-Output) | + +## Prompt v2 Verbesserungen gegenüber v1 + +| Problem | v1 (alt) | v2 (neu) | +|---------|:---:|:---:| +| Evidence Leaks | Nicht gemessen | 1 von 28 (3.6%) | +| Compound Actions | Häufig | 4 von 28 (14.3%) | +| Titel mit Handlung | ~70% | ~95% | +| Container Controls | Nicht gemessen | 0 | +| Truncated Titles | Gelegentlich | 0 | + +## Findings für Prompt v3 + +1. **Compound Actions verstärkt unterbinden** — "durchführen und Maßnahmen ergreifen" muss gesplittet werden +2. **Evidence Detection im Prompt schärfen** — "Tests dokumentieren" darf kein eigenes Control werden +3. **Overlap Detection** — "Behörden informieren" (Pflicht) vs. "Verfahren zur Information etablieren" (Prozess) müssen merged werden +4. **Merge-Key Bug fixen** — Code muss merge_key aus LLM-Output lesen und in generation_metadata speichern