feat(iace): wire OSHA minimum-distance library into measures + endpoint
The May-built OSHA distance library (minimum_distances.go, 29 CFR 1910, US public domain) was dead code — zero callers, no route, no test, while the mm values that actually appear in measures are independent hand-prose (some carrying ISO 13854/13857 values, not OSHA). This surfaces it without touching the measures response contract: - GET /iace/minimum-distances (+ ?measure_id=) returns the distances, the curated measure→distance link table and the licensing note. - AllMeasureDistanceLinks/MinimumDistancesForMeasure resolve only the defensible links (M600 value_source; M254/M065 public-domain crossref to ISO), with the relation made explicit so the join stays honest. - architecture.go lists the OSHA library so it shows in the audit explainer. - Tests: inch→mm conversion + license completeness, link integrity, and a consistency test pinning that a value_source measure's prose still matches the OSHA source (codifies the audit finding as a regression gate). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -146,6 +146,7 @@ func BuildArchitecture() Architecture {
|
||||
{Name: "Domänen-Capability-Gates", Count: distinctDomainGates(), SourceFile: "pattern_domain_gates.go", Description: "dom_*-Tags, die domänenspezifische Muster auf ihre echte Maschine begrenzen (Leak-Schutz)."},
|
||||
{Name: "Kontaktmodus-Tiers", Count: len(contactModeTable), SourceFile: "risk_estimation.go", Description: "Verletzungsmechanismen mit W/P/S-Tiers (ESAW-verankert, GT-kalibriert)."},
|
||||
{Name: "Kontaktmodus-Evidenz", Count: len(contactModeEvidence), SourceFile: "risk_data_sources.go", Description: "Belegte öffentliche Statistik-Quoten (ESAW) als Zitat-/Audit-Schicht."},
|
||||
{Name: "OSHA-Mindestabstände", Count: len(GetOSHAMinimumDistances()), SourceFile: "minimum_distances.go", Description: "OSHA 29 CFR 1910 Sicherheitsabstände (Public Domain) + Maßnahmen-Verknüpfung; EU-Normen nur referenziert."},
|
||||
},
|
||||
DataSources: []ArchDataSource{
|
||||
{Name: "Eurostat ESAW (Kontaktmodus-Unfallstatistik)", License: "CC BY 4.0", Usage: "Anker für Wahrscheinlichkeits-Tiers (W) + zitierbare Quoten", Status: "verwendet"},
|
||||
|
||||
Reference in New Issue
Block a user