fix(use-cases): Verifikations-Methode aus Primaer-Use-Case ableiten (Fallback)
CI / detect-changes (push) Successful in 6s
CI / branch-name (push) Has been skipped
CI / secret-scan (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / iace-gt-coverage (push) Has been skipped
CI / test-python-backend (push) Successful in 30s
CI / test-python-document-crawler (push) Has been skipped
CI / test-python-dsms-gateway (push) Has been skipped
CI / dep-audit (push) Has been skipped
CI / build-sha-integrity (push) Failing after 4s
CI / validate-canonical-controls (push) Successful in 11s
CI / loc-budget (push) Failing after 15s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go (push) Has been skipped
CI / nodejs-build (push) Has been skipped

Member-canonical_controls tragen meist kein evidence_type/verification_method
(wie schon source_citation). primary_verification_method() leitet die Methode
deterministisch aus dem Primaer-Use-Case ab (impressum->document,
code_security->source_code, ...). Populiert mc_verification beim naechsten Seed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-06-09 17:01:42 +02:00
parent 0f04eee746
commit ef746ea8f0
2 changed files with 10 additions and 1 deletions
@@ -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]:
@@ -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