feat: MaschVO als erster Multi-Regulation-Run + Reuse-Metrik (Freeze haelt: 0 neue Klassen)

User-Reframe: nicht „naechste Regulierung", sondern erster MULTI-REGULATION-Reuse-Test.
- obligations/cra_machinery.json: 31 MaschVO-Obligations (25 LM = Anhang-III-Essential-Reqs
  rechtlich legit + 6 BP). Pipeline 2229->1096 micro->120 review-units->Opus. out_of_scope
  41 RU (AI-Act/DSGVO/Common-Criteria/Banking/...).
- obligations/machinery_reuse_metrics.json: ERSTE Reuse-KPI. **NEUE OBJEKTKLASSEN = 0**
  (Architektur-Freeze haelt gegen physische-Safety-Regulierung — empirisch). 39% Reuse / 61%
  net-new; Capability-Reuse 2 (Cyber-Safety-Bruecke: access_control_safety_functions->access,
  protection_against_corruption->integrity/tamper), Procedure-Reuse 6, Evidence-Reuse 2,
  CORE-Spezialisierung 2 (risk_assessment->update_risk_assessment, conformity->sbom_tech_doc).
- join_keys 95->126 (machinery 31). precluster.py: machinery-Scope.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-06-26 10:05:00 +02:00
parent fa536f9714
commit f23ae32077
4 changed files with 5940 additions and 1 deletions
File diff suppressed because it is too large Load Diff
+79
View File
@@ -0,0 +1,79 @@
{
"schema_version": "reuse_metrics_v1",
"regulation": "MaschVO_2023_1230",
"measured": "2026-06-26",
"method": "cross_domain_pairs (BGE-M3, machinery vs 95 Bestand) -> classify_relationships (Opus, 54 cross-Paare)",
"kpi": {
"new_object_classes": 0,
"total_obligations": 31,
"reuse_linked": 12,
"reuse_pct": 39,
"net_new": 19,
"net_new_pct": 61,
"capability_reuse_obls": 2,
"procedure_reuse_obls": 6,
"evidence_reuse_obls": 2,
"core_specialization_obls": 2,
"reused_capabilities": [
"least_privilege_access_control",
"tamper_protection"
]
},
"distribution": {
"SHARED_CAPABILITY": 5,
"OVERLAP_ONLY": 19,
"SHARED_PROCEDURE": 6,
"SUPPORTED_BY": 2,
"SHARED_EVIDENCE": 5,
"UNRELATED": 16,
"SHARED_GUIDANCE": 1
},
"cyber_safety_bridges": [
{
"obligation": "access_control_safety_functions",
"relation": "SHARED_CAPABILITY",
"target": "remote_access_control_least_privilege",
"capability": "least_privilege_access_control"
},
{
"obligation": "protection_against_corruption",
"relation": "SHARED_CAPABILITY",
"target": "software_integrity_protection",
"capability": "tamper_protection"
},
{
"obligation": "risk_assessment_machinery_lifecycle",
"relation": "SUPPORTED_BY",
"target": "update_risk_assessment",
"capability": ""
},
{
"obligation": "conformity_assessment",
"relation": "SUPPORTED_BY",
"target": "sbom_technical_documentation",
"capability": ""
}
],
"net_new_obligations": [
"risk_assessment_methodology_competence",
"guards_protective_devices",
"emergency_stop_interlocking",
"safety_functions_design",
"safety_components_conformity",
"operating_instructions",
"eu_declaration_ce_marking",
"manufacturer_economic_operator_obligations",
"essential_safety_requirements_compliance",
"notified_body_requirements",
"market_surveillance_safeguard",
"sanctions",
"scope_transition_application",
"ml_safety_components",
"specific_machine_types",
"vibration_noise_emission",
"quality_management_system",
"long_term_availability_updates",
"security_functions_default_free"
],
"interpretation": "MaschVO ist weit von Cyber entfernt -> erwartbar NIEDRIGER Reuse (39%); die Bruecke ist Cybersicherheit von Sicherheitsfunktionen (access_control_safety_functions->access-control, protection_against_corruption->integrity/tamper). NIS2 (Cyber) wird HOHEN Reuse zeigen. WICHTIGSTES ERGEBNIS: 0 neue Objektklassen = Architektur-Freeze haelt gegen eine physische-Safety-Regulierung (empirisch, nicht nur theoretisch)."
}
+299 -1
View File
@@ -1,7 +1,7 @@
{ {
"schema_version": "obligation_join_keys_v1", "schema_version": "obligation_join_keys_v1",
"contract": "obligation_id ist der stabile Join-Key. Legal Knowledge Graph haengt citation_spans an obligation_id; Compliance Execution Graph mappt control_mapping.source_norm -> obligation_id. Interim-Bruecke = citation_units. obligation_id NIE neu vergeben (re-link).", "contract": "obligation_id ist der stabile Join-Key. Legal Knowledge Graph haengt citation_spans an obligation_id; Compliance Execution Graph mappt control_mapping.source_norm -> obligation_id. Interim-Bruecke = citation_units. obligation_id NIE neu vergeben (re-link).",
"count": 95, "count": 126,
"obligation_ids": [ "obligation_ids": [
{ {
"obligation_id": "sbom_creation", "obligation_id": "sbom_creation",
@@ -841,6 +841,304 @@
"tier": "BEST_PRACTICE", "tier": "BEST_PRACTICE",
"citation_units": [], "citation_units": [],
"source_role": "IMPLEMENTATION" "source_role": "IMPLEMENTATION"
},
{
"obligation_id": "risk_assessment_machinery_lifecycle",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang III Nr. 1 (Allgemeine Grundsätze)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "risk_assessment_documentation",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang IV (Technische Unterlagen)"
],
"source_role": "EVIDENCE"
},
{
"obligation_id": "risk_assessment_methodology_competence",
"regulation": "MaschVO",
"family": "machinery",
"tier": "BEST_PRACTICE",
"citation_units": [],
"source_role": "GUIDANCE"
},
{
"obligation_id": "residual_risk_management",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang III Nr. 1.1.2 (Grundsätze für die Integration der Sicherheit)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "guards_protective_devices",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang III Nr. 1.4 (Anforderungen an Schutzeinrichtungen)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "emergency_stop_interlocking",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang III Nr. 1.2.4 (Stillsetzen, Not-Halt)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "safety_functions_design",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang III Nr. 1.2.1 (Sicherheit und Zuverlässigkeit von Steuerungen)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "safety_components_conformity",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang I (Liste der Sicherheitsbauteile), Art. 5"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "operating_instructions",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang III Nr. 1.7.4 (Betriebsanleitung)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "blocking_release_procedure",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang III Nr. 1.3.7/1.7.4"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "conformity_assessment",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Art. 25 (Konformitätsbewertungsverfahren)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "technical_documentation",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang IV (Technische Unterlagen)"
],
"source_role": "EVIDENCE"
},
{
"obligation_id": "eu_declaration_ce_marking",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Art. 21, Art. 22 (EU-Konformitätserklärung, CE-Kennzeichnung)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "manufacturer_economic_operator_obligations",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Art. 10, Art. 11 (Pflichten der Hersteller)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "essential_safety_requirements_compliance",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang III (Grundlegende Sicherheits- und Gesundheitsschutzanforderungen)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "harmonised_standards_selection",
"regulation": "MaschVO",
"family": "machinery",
"tier": "BEST_PRACTICE",
"citation_units": [],
"source_role": "GUIDANCE"
},
{
"obligation_id": "notified_body_requirements",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Kapitel IV (Notifizierung von Konformitätsbewertungsstellen)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "market_surveillance_safeguard",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Kapitel V/VI (Marktüberwachung, Schutzklauselverfahren)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "sanctions",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Art. 50 (Sanktionen)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "scope_transition_application",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Art. 1, Art. 53, Art. 54 (Anwendungsbereich, Übergangsbestimmungen, Geltungsbeginn)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "modification_substantial_change",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Art. 18 (wesentliche Veränderung)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "access_control_safety_functions",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang III Nr. 1.1.9 (Schutz gegen Korrumpierung)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "protection_against_corruption",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang III Nr. 1.1.9, Nr. 1.2.1"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "ml_safety_components",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang I Teil A, Anhang III Nr. 1.2.1"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "autonomous_mobile_machinery",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang III Nr. 3 (Mobile Maschinen) / Nr. 6"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "specific_machine_types",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang III Nr. 2-6 (besondere Maschinenkategorien)"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "vibration_noise_emission",
"regulation": "MaschVO",
"family": "machinery",
"tier": "LEGAL_MINIMUM",
"citation_units": [
"Anhang III Nr. 1.5.8/1.5.9, Nr. 1.7.4.2"
],
"source_role": "LEGAL_BASIS"
},
{
"obligation_id": "verification_inspection_maintenance",
"regulation": "MaschVO",
"family": "machinery",
"tier": "BEST_PRACTICE",
"citation_units": [],
"source_role": "GUIDANCE"
},
{
"obligation_id": "quality_management_system",
"regulation": "MaschVO",
"family": "machinery",
"tier": "BEST_PRACTICE",
"citation_units": [],
"source_role": "GUIDANCE"
},
{
"obligation_id": "long_term_availability_updates",
"regulation": "MaschVO",
"family": "machinery",
"tier": "BEST_PRACTICE",
"citation_units": [],
"source_role": "GUIDANCE"
},
{
"obligation_id": "security_functions_default_free",
"regulation": "MaschVO",
"family": "machinery",
"tier": "BEST_PRACTICE",
"citation_units": [],
"source_role": "GUIDANCE"
} }
] ]
} }
@@ -33,6 +33,12 @@ SCOPES = {
"%automatische aktualisierung%", "%update-mechanismus%", "%automatische aktualisierung%", "%update-mechanismus%",
"%update-bereitstellung%", "%bereitstellung von updates%", "%update-bereitstellung%", "%bereitstellung von updates%",
"%sichere aktualisierung%", "%signierte update%", "%update-paket%"], "%sichere aktualisierung%", "%signierte update%", "%update-paket%"],
"machinery": ["%maschinensicherheit%", "%risikobeurteilung%", "%schutzeinrichtung%",
"%not-halt%", "%nothalt%", "%sicherheitsfunktion%", "%sicherheitsbauteil%",
"%betriebsanleitung%", "%trennende schutz%", "%verriegelung%",
"%zweihandschaltung%", "%gefahrbringend%", "%maschinenrichtlinie%",
"%maschinenverordnung%", "%restrisiko%", "%schutzma%nahme%maschine%",
"%gefahrenbereich%", "%schutzabstand%", "%performance level%"],
} }