63d65af41b
CRA Annex I Part I (2)(e)/(2)(l)/(2)(i) had no clean OWASP target (rejected: "Mapping ueber NIST/BSI erforderlich"). Their NIST home, curated + accepted: (2)(e) Integritaet -> SI-7 (Software/Firmware/Information Integrity) (2)(l) Sichere Updates -> SI-2 (Flaw Remediation) (2)(i) Angriffsflaeche -> CM-7 (Least Functionality) New mapping_type=primary_implementation = the single canonical control per obligation (stronger than implements/supports); related controls (SC-3(3), RA-5, AC-6, SI-16, ...) follow later as supports. Evidence is framework-AGNOSTIC: SI-7/SI-2/CM-7 reuse the shared evidence_type catalog (config_export/test_report/repo_scan) - same types carry CRA, NIST, ISO 27001, IEC 62443, BSI. (framework,control) is only the link, not the type. obligation_id left empty: the Obligation Registry assigns it (exported via controls_for_obligation_mapping.json), then we adopt. go test ./internal/ucca green. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>