diff --git a/backend-compliance/compliance/data/use_case_registry.py b/backend-compliance/compliance/data/use_case_registry.py index ca75c706..46bdb0dd 100644 --- a/backend-compliance/compliance/data/use_case_registry.py +++ b/backend-compliance/compliance/data/use_case_registry.py @@ -369,6 +369,13 @@ def enabled_use_cases() -> list[UseCase]: return [uc for uc in _USE_CASES if uc.enabled] +def primary_verification_method(use_case_key: str | None) -> str | None: + """Repraesentative Verifikations-Methode eines Use Case (erste deklarierte) + — deterministischer Fallback, wenn die MC-Member kein evidence_type tragen.""" + uc = REGISTRY.get(use_case_key) if use_case_key else None + return uc.verification_methods[0] if uc and uc.verification_methods else None + + def seed_classify( scopes=(), categories=(), vmethods=(), etypes=(), ) -> tuple[list[str], str | None]: diff --git a/backend-compliance/scripts/classify_mc_use_cases.py b/backend-compliance/scripts/classify_mc_use_cases.py index 6b25e9aa..2ee85690 100644 --- a/backend-compliance/scripts/classify_mc_use_cases.py +++ b/backend-compliance/scripts/classify_mc_use_cases.py @@ -107,7 +107,9 @@ async def run_seed(conn, limit: int = 0) -> dict: mc_uuid, mc_id, uc, is_prim) n_uc += 1 n_mc += 1 - m = verif.get(mc_uuid) + # Verifikations-Methode: Member-evidence oder (Fallback) aus dem + # Primaer-Use-Case ableiten (Member tragen oft kein evidence_type). + m = verif.get(mc_uuid) or reg.primary_verification_method(uc_primary) if m: await conn.execute( """INSERT INTO compliance.mc_verification