Use-Case-Mapping-Filter für Master Controls + Mapper-Präzisionsfix
CI / detect-changes (push) Successful in 14s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / secret-scan (push) Has been skipped
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / build-sha-integrity (push) Failing after 7s
CI / validate-canonical-controls (push) Successful in 13s
CI / loc-budget (push) Failing after 15s
CI / go-lint (push) Has been skipped
CI / test-go (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Successful in 2m23s
CI / iace-gt-coverage (push) Has been skipped
CI / test-python-backend (push) Successful in 34s
CI / test-python-document-crawler (push) Has been skipped
CI / test-python-dsms-gateway (push) Has been skipped

Phase 2: Live-Filter an /sdk/master-controls (Use Case, Quell-Regulierung,
Verifikations-Methode, Coverage, Primärzweck-Toggle, category via Member-EXISTS).
API mit EXISTS-Filtern + gecachten Meta-Counts in master-controls/route.ts.

Phase A: neue UseCase telekommunikation + Fix der Impressum-Fehlrouten im
Register (TKG/AT-TKG->telekommunikation, telemedien->dse, GewO->handelsrecht);
echte Impressum-Quellen (TMG/Mediengesetz) bleiben impressum. Deterministischer
Seed aus source_regulation; Tests grün.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-06-09 23:19:56 +02:00
parent c4d9b1426f
commit 372e1fe9e9
10 changed files with 434 additions and 45 deletions
@@ -122,7 +122,8 @@ def test_regulation_mapper_known():
"Cyber Resilience Act (CRA)": "cra",
"DSGVO (EU) 2016/679": "dse",
"EDPB Facial Recognition": "dse", # Leitlinie → Datenschutz
"TKG": "impressum",
"TKG": "telekommunikation", # Telekom-Recht, NICHT Impressum
"TMG": "impressum", # echtes Impressumsrecht
"TDDDG": "cookie_banner",
"Markets in Crypto-Assets (MiCA)": "mica",
"BGB": "agb",
@@ -131,6 +132,19 @@ def test_regulation_mapper_known():
assert reg.use_case_for_regulation(reg_str) == expected, reg_str
def test_regulation_mapper_impressum_misroutes_fixed():
# Phase A: Telekom-/Datenschutz-/Gewerbe-Gesetze duerfen NICHT mehr als
# Impressum durchgehen (Korpus enthaelt kein echtes Impressumsrecht ausser
# TMG/MStV). Siehe Audit 2026-06-09.
assert reg.use_case_for_regulation("Telekommunikationsgesetz Oesterreich") \
== "telekommunikation"
assert reg.use_case_for_regulation("DSK OH Telemedien") == "dse"
assert reg.use_case_for_regulation("Gewerbeordnung (GewO)") == "handelsrecht"
# Die echten Impressum-Quellen bleiben Impressum:
assert reg.use_case_for_regulation("TMG") == "impressum"
assert reg.use_case_for_regulation("AT Mediengesetz") == "impressum"
def test_regulation_mapper_abgb_before_bgb():
# 'ABGB' enthaelt 'bgb' — die abgb-Regel MUSS zuerst greifen.
assert reg.use_case_for_regulation("AT ABGB") == "handelsrecht"