Files
breakpilot-compliance/ai-compliance-sdk/internal/iace/hazard_patterns_thermal.go
T
Benjamin Admin 71d31c914b feat(iace): ISO 12100 Anhang B mapping — split noise/vibration + section identifier
Phase 16 of the Klaerungen / risk-assessment polish. Sources from
EN ISO 12100 Anhang B Tabelle B.1 are now first-class:

A) HazardPattern.ISO12100Section identifier (string), persisted only as
   the section number (e.g. "6.3.5.5") — not the norm text. Keeps the
   library urheberrechtlich neutral (DIN/Beuth license). 57 patterns
   labeled today; rest will follow on touch.

B) Category split per ISO 12100 Nr. 4 vs Nr. 5:
   - 16 patterns reclassified noise_vibration -> noise_hazard
   - 7  patterns reclassified noise_vibration -> vibration_hazard
   - 1  pattern (HP228 UV-/Laermexposition) kept multi-cat
   acceptableMeasureCategories now accepts both new aliases plus the
   legacy noise_vibration. Coverage test recognises both as valid.

C) 5 new ISO-12100-Annex-B gap patterns (HP1900-HP1904):
   - HP1900 Vakuum-Verletzung (6.3.5.5)
   - HP1901 Federenergie / elastische Elemente (6.2.10)
   - HP1902 Rutschen/Stolpern auf rauer Oberflaeche (6.3.5.6)
   - HP1903 Hochdruckinjektion (6.3.5.4) — includes clarifying
            "no hand-locating of leaks" question
   - HP1904 Ersticken durch Brustkorbquetschung (6.3.5.2)

The library now mirrors the ISO 12100 Annex B structure for the gaps
the Bremse benchmark surfaced.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 01:59:16 +02:00

54 lines
2.9 KiB
Go

package iace
// builtinThermalPatterns returns HP016-HP018: thermal and radiation hazard patterns.
func builtinThermalPatterns() []HazardPattern {
return []HazardPattern{
{
ID: "HP016", NameDE: "Verbrennungsgefahr durch heisse Oberflaechen", NameEN: "Burn risk from hot surfaces",
RequiredComponentTags: []string{"high_temperature"},
RequiredEnergyTags: []string{"thermal"},
GeneratedHazardCats: []string{"thermal_hazard"},
SuggestedMeasureIDs: []string{"M071", "M121", "M131"},
SuggestedEvidenceIDs: []string{"E01", "E20"},
Priority: 85,
ScenarioDE: "Bediener beruehrt heisse Maschinenteile (Heizelemente, Duesenstoecke, Ofenwaende) bei Betrieb oder kurz nach Abschalten.",
TriggerDE: "Unbeabsichtigter Hautkontakt mit Oberflaeche ueber 65 Grad C ohne Schutzhandschuhe.",
HarmDE: "Kontaktverbrennung 1.-3. Grades, Blasenbildung, Narbenbildung.",
AffectedDE: "Bedienpersonal, Wartungspersonal",
ZoneDE: "Heizelemente, Formwerkzeuge, Auspuffleitung, Motoroberflaeche",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP017", NameDE: "Strahlungsgefahr (Laser/optisch)", NameEN: "Radiation risk (laser/optical)",
RequiredComponentTags: []string{"radiation_risk"},
RequiredEnergyTags: []string{"radiation"},
GeneratedHazardCats: []string{"thermal_hazard"},
SuggestedMeasureIDs: []string{"M072", "M051", "M131"},
SuggestedEvidenceIDs: []string{"E01", "E20"},
Priority: 85,
ScenarioDE: "Bediener wird Laserstrahlung, UV-Strahlung oder intensiver optischer Strahlung ausgesetzt.",
TriggerDE: "Reflexion oder direkter Strahlaustritt durch offene Schutzhaube, defekte Abschirmung oder Justierarbeiten.",
HarmDE: "Augenschaeden (Netzhautverbrennung, Hornhautschaedigung), Hautverbrennungen, Langzeitschaeden.",
AffectedDE: "Bedienpersonal, Wartungspersonal, Personen im Strahlbereich",
ZoneDE: "Strahlaustrittsoeffnung, Bearbeitungszone, Reflexionsbereich",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP018", NameDE: "Verbrennungsgefahr durch Aktuatoren", NameEN: "Burn risk from actuators",
RequiredComponentTags: []string{"actuator_part", "high_temperature"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"thermal_hazard"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 75,
ScenarioDE: "Aktuatoren (Servomotoren, Linearantriebe) erwaermen sich im Dauerbetrieb ueber die Beruehrtemperaturgrenze.",
TriggerDE: "Beruehren heisser Motorgehaeuse ohne ausreichende Abkuehlzeit.",
HarmDE: "Kontaktverbrennung, Blasenbildung an Haenden.",
AffectedDE: "Wartungspersonal, Einrichter",
ZoneDE: "Motorgehaeuse, Getriebegehaeuse, Linearantrieb",
ISO12100Section: "6.3.4.5",
DefaultSeverity: 2, DefaultExposure: 2,
},
}
}