Files
breakpilot-compliance/ai-compliance-sdk/internal/iace/hazard_patterns_construction.go
T
Benjamin Admin 05839e36aa
Build + Deploy / build-admin-compliance (push) Successful in 9s
Build + Deploy / build-backend-compliance (push) Successful in 8s
Build + Deploy / build-ai-sdk (push) Successful in 37s
Build + Deploy / build-developer-portal (push) Successful in 7s
Build + Deploy / build-tts (push) Successful in 7s
Build + Deploy / build-document-crawler (push) Successful in 8s
Build + Deploy / build-dsms-gateway (push) Successful in 7s
Build + Deploy / build-dsms-node (push) Successful in 8s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / loc-budget (push) Failing after 17s
CI / secret-scan (push) Has been skipped
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Successful in 2m55s
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / test-go (push) Failing after 49s
CI / test-python-backend (push) Successful in 43s
CI / test-python-document-crawler (push) Successful in 32s
CI / test-python-dsms-gateway (push) Successful in 23s
CI / validate-canonical-controls (push) Successful in 16s
Build + Deploy / trigger-orca (push) Successful in 2m11s
feat: Hazard-Patterns auf 475 erweitert (Ziel: 1000)
8 neue Pattern-Dateien fuer:
- Aufzuege (25), AGV/Landmaschinen (30), Lebensmittel/Verpackung (35)
- Laser/Medizin/Druck (40), Bau/Krane (20), Forst/Foerderer (31)
- Kunststoff/Metall (30), Schweissen/Glas/Textil (30)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-07 13:31:23 +02:00

341 lines
20 KiB
Go

package iace
// GetConstructionPatterns returns 20 hazard patterns (HP400-HP419)
// covering construction machines, mobile cranes, concrete pumps,
// tunnel boring, road construction, and elevated work platforms.
func GetConstructionPatterns() []HazardPattern {
return []HazardPattern{
// ================================================================
// Erdbau / Excavation (HP400-HP403)
// ================================================================
{
ID: "HP400", NameDE: "Umkippen Bagger bei Grabungsarbeiten", NameEN: "Excavator tipping during digging",
RequiredComponentTags: []string{"hydraulic_part", "gravity_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M052", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 90,
ScenarioDE: "Bagger kippt seitlich um bei Aushubarbeiten an Boeschungskante oder auf weichem Untergrund.",
TriggerDE: "Ueberreichweite des Auslegers, nachgebender Untergrund, asymmetrische Last",
HarmDE: "Quetschung in Kabine, toedliches Ueberrollen, Verschuettung Dritter",
AffectedDE: "Baggerfuehrer, Personen im Schwenkbereich",
ZoneDE: "Baugrube, Boeschungskante, Schwenkbereich des Baggers",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
ID: "HP401", NameDE: "Verschuettung — Grabenrand bricht ein", NameEN: "Burial — trench wall collapses",
RequiredComponentTags: []string{"structural_part", "gravity_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M052", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 95,
ScenarioDE: "Grabenrand bricht ein und verschuettet Personen im Graben. Erstickungsgefahr.",
TriggerDE: "Fehlender Verbau, Vibration durch Baumaschinen, Wassereinbruch, Ueberbelastung der Grabenkante",
HarmDE: "Verschuettung, Erstickung, toedliche Kompression, Knochenbrueche",
AffectedDE: "Bauarbeiter im Graben, Leitungsbauer",
ZoneDE: "Graben, Baugrube, ungesicherte Boeschung",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
ID: "HP402", NameDE: "Quetschen zwischen Baggerarm und Fahrerkabine", NameEN: "Crushing between excavator arm and cab",
RequiredComponentTags: []string{"hydraulic_part", "crush_point"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M052"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 90,
ScenarioDE: "Person wird zwischen schwenkendem Baggerarm und Kabine oder Unterwagen eingeklemmt.",
TriggerDE: "Aufenthalt im Schwenkbereich, fehlende Rueckraumkamera, Sichteinschraenkung",
HarmDE: "Schwere Quetschung, innere Verletzungen, Tod durch Einklemmung",
AffectedDE: "Baustellenpersonal im Nahbereich des Baggers",
ZoneDE: "Schwenkbereich Oberwagen, Quetschzone Ausleger-Kabine",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
ID: "HP403", NameDE: "Ueberfahren von Personen durch Radlader", NameEN: "Running over persons by wheel loader",
RequiredComponentTags: []string{"moving_part", "gravity_risk"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M005", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 95,
ScenarioDE: "Radlader faehrt rueckwaerts und ueberfaehrt Person, die sich im toten Winkel befindet.",
TriggerDE: "Fehlende Rueckfahrkamera, kein Signalhorn, Fussgaenger im Arbeitsbereich",
HarmDE: "Ueberrollen, toedliche Verletzungen, Polytrauma",
AffectedDE: "Fussgaenger auf der Baustelle, Einweiser, Vermessungspersonal",
ZoneDE: "Fahrbereich des Radladers, Rueckfahrzone, Rangierbereiche",
DefaultSeverity: 5, DefaultExposure: 3,
},
// ================================================================
// Betonbau / Concrete & Pumps (HP404-HP406)
// ================================================================
{
ID: "HP404", NameDE: "Absturz von Betonpumpenausleger", NameEN: "Collapse of concrete pump boom",
RequiredComponentTags: []string{"hydraulic_part", "structural_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M052", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 90,
RequiresExpertCalculation: true,
ExpertHintDE: "Standsicherheitsnachweis fuer Autobetonpumpe nach TRBS 2111 erforderlich.",
ScenarioDE: "Ausleger der Autobetonpumpe knickt oder bricht durch Materialermuedung oder Ueberbelastung ab.",
TriggerDE: "Ueberschreitung der zulaessigen Reichweite, Ermuedungsbruch, fehlerhafte Abstuetzung",
HarmDE: "Erschlagen durch herabfallenden Ausleger, Verschuettung, toedliche Kopfverletzungen",
AffectedDE: "Betonbauer, Einschaler, Personen unterhalb des Auslegers",
ZoneDE: "Schwenkbereich des Pumpenauslegers, Betonierflaeche",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP405", NameDE: "Druckversagen Betonpumpe", NameEN: "Pressure failure of concrete pump",
RequiredComponentTags: []string{"hydraulic_part", "high_pressure"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"pneumatic_hydraulic"},
SuggestedMeasureIDs: []string{"M054", "M141"},
SuggestedEvidenceIDs: []string{"E11", "E20"},
Priority: 85,
ScenarioDE: "Foerderleitung der Betonpumpe platzt unter Foerderdruck. Betonmasse und Leitungsteile werden geschleudert.",
TriggerDE: "Verstopfung der Leitung, verschlissene Rohrkupplung, Ueberdruck durch Pumpenbetrieb",
HarmDE: "Aufprallverletzungen durch Leitungsteile, Veraetzung durch frischen Beton",
AffectedDE: "Betonpumpenfuehrer, Bauarbeiter im Bereich der Foerderleitung",
ZoneDE: "Gesamte Foerderleitungsstrecke, Kupplungsstellen",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP406", NameDE: "Heisser Asphalt — Verbrennungsgefahr", NameEN: "Hot asphalt — burn hazard",
RequiredComponentTags: []string{"high_temperature", "chemical_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"thermal_hazard"},
SuggestedMeasureIDs: []string{"M005", "M141"},
SuggestedEvidenceIDs: []string{"E10", "E20"},
Priority: 70,
ScenarioDE: "Heisser Asphalt (ca. 160 Grad C) verursacht schwere Verbrennungen bei Hautkontakt. Daempfe reizen Atemwege.",
TriggerDE: "Spritzer beim Einbau, Kontakt mit frisch eingebautem Asphalt, Einatmen von Bitumendaempfen",
HarmDE: "Verbrennungen 2./3. Grades, Atemwegsreizung, langfristige Lungenbelastung",
AffectedDE: "Strassenbauarbeiter, Asphaltfertiger-Bediener",
ZoneDE: "Einbauflaeche, Umgebung des Asphaltfertigers, Beladezone",
DefaultSeverity: 3, DefaultExposure: 4,
},
// ================================================================
// Tunnelbau / Tunnel Construction (HP407-HP409)
// ================================================================
{
ID: "HP407", NameDE: "Herabfallen von Tunneldecke (Vortrieb)", NameEN: "Tunnel roof collapse during boring",
RequiredComponentTags: []string{"structural_part", "gravity_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M052", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 95,
ScenarioDE: "Ungesicherter Gebirgsbereich bricht bei Tunnelvortrieb herab und verschuettet Arbeiter.",
TriggerDE: "Ungenuegender Ausbau, geologische Stoerzone, Wassereinbruch, Sprengerschuetterung",
HarmDE: "Verschuettung, Erschlagen, Erstickung, toedliche Verletzungen",
AffectedDE: "Vortriebsmannschaft, Bergleute, Geologen",
ZoneDE: "Ortsbrust, unausgebauter Tunnelbereich, Firstbereich",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
ID: "HP408", NameDE: "Quetschen bei Ramme/Bohrgeraet", NameEN: "Crushing at pile driver/drilling rig",
RequiredComponentTags: []string{"hydraulic_part", "crush_point"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M052"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 85,
ScenarioDE: "Person wird zwischen Rammbaer und Fuehrung oder zwischen Bohrstange und Kellymast eingequetscht.",
TriggerDE: "Aufenthalt im Arbeitsbereich waehrend Ramm-/Bohrvorgang, fehlende Absperrung",
HarmDE: "Schwere Quetschverletzungen, Knochenbrueche, Amputation, toedliche Einklemmung",
AffectedDE: "Bohrgeraetfuehrer, Hilfskraefte am Bohrgeraet",
ZoneDE: "Bereich um Rammbaer, Kellymast, Bohrstrangsicherung",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP409", NameDE: "Steinschlag bei Tunnelvortrieb", NameEN: "Rockfall during tunnel excavation",
RequiredComponentTags: []string{"gravity_risk"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M005", "M052"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 85,
ScenarioDE: "Einzelne Gesteinsbrocken loesen sich aus der Tunnellaibung und treffen Personen.",
TriggerDE: "Vibration durch Sprengung oder Meisselbetrieb, klueftiges Gestein, fehlender Ueberkopfschutz",
HarmDE: "Kopfverletzungen, Knochenbrueche, toedlicher Aufprall bei grossen Bloecken",
AffectedDE: "Vortriebsmannschaft, Sicherungspersonal",
ZoneDE: "Bereich nahe Ortsbrust, ungesicherter Firstbereich",
DefaultSeverity: 4, DefaultExposure: 3,
},
// ================================================================
// Strassenbau / Road Construction (HP410-HP411)
// ================================================================
{
ID: "HP410", NameDE: "Walze ueberrollt Person (Strassenbau)", NameEN: "Road roller runs over person",
RequiredComponentTags: []string{"moving_part", "gravity_risk"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M005", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 95,
ScenarioDE: "Strassenwalze erfasst und ueberrollt Person, die sich im toten Winkel oder hinter der Maschine befindet.",
TriggerDE: "Eingeschraenkte Sicht, kein Einweiser, Fussgaenger im Arbeitsfeld, fehlende Warneinrichtung",
HarmDE: "Toedliches Ueberrollen, Polytrauma, schwerste Kompressionsverleztungen",
AffectedDE: "Strassenbauarbeiter, Einweiser, Fussgaenger",
ZoneDE: "Fahrbereich der Walze, Rueckfahrbereich, Wendeflaechen",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
ID: "HP411", NameDE: "Laerm und Vibration bei Rammarbeiten", NameEN: "Noise and vibration during pile driving",
RequiredComponentTags: []string{"vibration_source"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"ergonomic"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 60,
ScenarioDE: "Dauerhafte Exposition gegenueber starkem Laerm (>100 dB) und Ganzkoerpervibrationen bei Rammarbeiten.",
TriggerDE: "Langdauernder Rammbetrieb ohne Gehoerschutz, fehlende Vibrationsdaemmung am Fahrzeug",
HarmDE: "Laermschwerhoerigheit, Tinnitus, Wirbelsaeulenschaeden durch Vibration, Durchblutungsstoerungen",
AffectedDE: "Rammgeraetfuehrer, Baustellenpersonal im Nahbereich",
ZoneDE: "Nahbereich der Ramme, Fahrerkabine bei ungenuegender Daemmung",
DefaultSeverity: 3, DefaultExposure: 4,
},
// ================================================================
// Krane / Cranes (HP412-HP415)
// ================================================================
{
ID: "HP412", NameDE: "Kippen von Mobilkran bei Ueberreichweite", NameEN: "Mobile crane tipping at over-reach",
RequiredComponentTags: []string{"hydraulic_part", "gravity_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M052", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 95,
RequiresExpertCalculation: true,
ExpertHintDE: "Standsicherheitsnachweis nach DIN EN 13000 und Lastdiagramm pruefen.",
ScenarioDE: "Mobilkran kippt bei Ueberschreitung der zulaessigen Ausladung oder Traglast um.",
TriggerDE: "Ueberschreitung Lastdiagramm, ungenuegend abgestuetzter Untergrund, Winddruck",
HarmDE: "Erschlagen durch Ausleger, Zerquetschung, toedliche Verletzungen in grossem Radius",
AffectedDE: "Kranfuehrer, Anschlaeger, Personen im Schwenkbereich",
ZoneDE: "Gesamter Schwenkbereich des Krans, Abstuetzbereich",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP413", NameDE: "Seilbruch am Kran", NameEN: "Crane wire rope failure",
RequiredComponentTags: []string{"gravity_risk", "structural_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M052", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 95,
RequiresExpertCalculation: true,
ExpertHintDE: "Drahtseilpruefung nach DIN EN 12385 / DGUV Vorschrift 52 erforderlich.",
ScenarioDE: "Hubseil des Krans reisst. Last stuerzt unkontrolliert herab.",
TriggerDE: "Ablegereife ueberschritten, Korrosion, Knickbelastung, mangelnde Seilpruefung",
HarmDE: "Erschlagen durch herabfallende Last, toedlicher Aufprall, Zerquetschung",
AffectedDE: "Personen unter der Last, Anschlaeger, Baustellenpersonal",
ZoneDE: "Bereich unter der Last, gesamte Verfahrstrecke",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP414", NameDE: "Pendelnde Last trifft Person", NameEN: "Swinging load strikes person",
RequiredComponentTags: []string{"gravity_risk", "moving_part"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M005", "M052"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 85,
ScenarioDE: "Am Kran haengende Last pendelt unkontrolliert und trifft Person oder Bauwerk.",
TriggerDE: "Windeinwirkung, ruckartiges Schwenken, einseitig angeschlagene Last",
HarmDE: "Aufprallverletzung, Knochenbrueche, innere Verletzungen, Absturz von Geruest",
AffectedDE: "Personen im Schwenkbereich, Geruestarbeiter, Anschlaeger",
ZoneDE: "Pendel-/Schwenkbereich der Last, Nahbereich zum Ablageort",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP415", NameDE: "Kollision zweier Krane", NameEN: "Collision of two cranes in overlapping work areas",
RequiredComponentTags: []string{"moving_part", "structural_part"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E14"},
Priority: 90,
ScenarioDE: "Zwei Krane mit ueberschneidenden Arbeitsbereichen kollidieren mit Auslegern oder Lasten.",
TriggerDE: "Fehlende Kollisionsschutzsysteme, mangelnde Koordination, Windversatz",
HarmDE: "Auslegerbruch, herabfallende Teile, Erschlagen, Bauwerkschaeden",
AffectedDE: "Kranfuehrer beider Krane, Baustellenpersonal unterhalb",
ZoneDE: "Ueberschneidungsbereich der Schwenkbereiche",
DefaultSeverity: 5, DefaultExposure: 2,
},
// ================================================================
// Hoehenarbeit / Elevated Work (HP416-HP419)
// ================================================================
{
ID: "HP416", NameDE: "Absturz Hubarbeitsbuehne bei Wind", NameEN: "Aerial work platform overturning in wind",
RequiredComponentTags: []string{"hydraulic_part", "gravity_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M052", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 90,
ScenarioDE: "Hubarbeitsbuehne kippt bei starkem Wind oder auf ungenuegend tragfaehigem Untergrund um.",
TriggerDE: "Windgeschwindigkeit ueber Grenzwert, weicher Untergrund, Ueberladung des Arbeitskorbs",
HarmDE: "Absturz der Personen im Korb, toedlicher Aufprall, Quetschung unter Buehne",
AffectedDE: "Bediener im Arbeitskorb, Personen im Kippbereich",
ZoneDE: "Arbeitskorb, Kippradius der Buehne, Abstuetzbereich",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP417", NameDE: "Quetschen beim Containerumschlag", NameEN: "Crushing during container handling",
RequiredComponentTags: []string{"moving_part", "crush_point", "gravity_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M005"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 90,
ScenarioDE: "Person wird zwischen Container und Fahrzeug oder zwischen zwei Containern eingeklemmt.",
TriggerDE: "Aufenthalt im Absetzbereich, Kommunikationsfehler mit Kranfuehrer, Wind",
HarmDE: "Schwere Quetschverletzung, toedliche Einklemmung, Knochenbrueche",
AffectedDE: "Hafenarbeiter, LKW-Fahrer, Einweiser",
ZoneDE: "Absetz- und Stapelbereich, Raum zwischen Containern",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
ID: "HP418", NameDE: "Herabfallen Fassadengeruest", NameEN: "Facade scaffolding collapse",
RequiredComponentTags: []string{"structural_part", "gravity_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M052", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 90,
ScenarioDE: "Fassadengeruest bricht zusammen oder Geruestteile loesen sich und stuerzen auf Personen herab.",
TriggerDE: "Mangelhafter Geruestaufbau, Ueberladung, fehlende Verankerung am Gebaeude, Sturm",
HarmDE: "Erschlagen, Absturz der Geruestarbeiter, Knochenbrueche, toedliche Kopfverletzungen",
AffectedDE: "Geruestbauer, Fassadenarbeiter, Fussgaenger unterhalb",
ZoneDE: "Geruest und Bereich unterhalb, Absturzzone",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
ID: "HP419", NameDE: "Absturz von Fahrtreppen bei Stufe-Ketten-Bruch", NameEN: "Escalator fall due to step chain failure",
RequiredComponentTags: []string{"moving_part", "structural_part"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M001", "M082"},
SuggestedEvidenceIDs: []string{"E08", "E14"},
Priority: 85,
RequiresExpertCalculation: true,
ExpertHintDE: "Stufenketten-Pruefung nach DIN EN 115-1 + TUEV-Abnahme erforderlich.",
ScenarioDE: "Stufenkette der Fahrtreppe reisst, Stufen sacken weg, Personen stuerzen uebereinander.",
TriggerDE: "Ermuedungsbruch der Stufenkette, mangelnde Wartung, Ueberladung",
HarmDE: "Stuerze, Knochenbrueche, Massenpanik, Quetschung am Kammplatte-Einlauf",
AffectedDE: "Fahrgaeste auf der Fahrtreppe, Personen am Ausstieg",
ZoneDE: "Stufenband, Kammplattenbereich, Ein-/Ausstiegszone",
DefaultSeverity: 4, DefaultExposure: 3,
},
}
}