package iace

// getSupplementaryMeasures returns measures that fill gaps identified
// by systematic comparison of 6.141 RAG-extracted obligations against
// the existing measures library. Each measure closes a documented gap.
// IDs: M383–M403 (21 measures).
//
// Gap sources (RAG-validated):
//   - Brandschutz: TRGS 509/510/511/741/751, ASR A2.3  (282 obligations, 2 existing measures)
//   - Strahlung/Laser: OSHA TM Section III Ch.6, ASR A3.4  (29 obligations, 0 existing measures)
//   - TRBS 1115 Cybersecurity MSR: TRBS 1115/1115 Teil 1  (580 chunks, IEC 62443 covered but not MSR-specific)
//   - TRBS 1112 Instandhaltung: TRBS 1112  (226 chunks, LOTO covered but not coordination/special hazards)
//   - ASR Flucht-/Rettungswege: ASR A2.3  (460 chunks, 0 existing measures)
func getSupplementaryMeasures() []ProtectiveMeasureEntry {
	return []ProtectiveMeasureEntry{
		// ══════════════════════════════════════════════════════════════
		// Brandschutz (8 Massnahmen) — Gap: 282 obligations, 2 Massnahmen
		// Quellen: TRGS 509 §9.4, TRGS 510 §8.2/§12.4, TRGS 511 §6.2,
		//          TRGS 741 Anhang 1, TRGS 751 §4.2/§4.3
		// ══════════════════════════════════════════════════════════════
		{ID: "M383", ReductionType: "information", SubType: "organizational", Name: "Brandschutzkonzept erstellen", Description: "Fuer Maschinenanlagen mit Brandgefaehrdung wird ein Brandschutzkonzept erstellt das baulichen, technischen und organisatorischen Brandschutz umfasst.", HazardCategory: "thermal", Examples: []string{"Brandschutzkonzept fuer Lackieranlage", "Brandschutznachweis fuer Lagerbereiche"}, NormReferences: []string{"TRGS 751 — Brandschutzkonzept", "ASR A2.3 — Fluchtwege"}},
		{ID: "M384", ReductionType: "protection", SubType: "fixed_guard", Name: "Baulicher Brandschutz an Maschinenanlagen", Description: "Brandabschnitte werden durch Brandwaende und feuerwiderstandsfaehige Bauteile gebildet um Brandausbreitung zu verhindern.", HazardCategory: "thermal", Examples: []string{"F90-Brandwand zwischen Lager und Produktion", "Brandschottung an Kabeldurchfuehrungen"}, NormReferences: []string{"TRGS 511 — Baulicher Brandschutz", "TRGS 741 — Schutzabstaende"}},
		{ID: "M385", ReductionType: "protection", SubType: "monitoring", Name: "Automatische Brandmeldeanlage installieren", Description: "Brandgefaehrdete Bereiche werden mit automatischen Brandmeldern ausgestattet die optisch und akustisch alarmieren.", HazardCategory: "thermal", Examples: []string{"Rauchmelder in Schaltraeumen", "Waermemelder in Lagerbereichen"}, NormReferences: []string{"TRGS 510 — Brandschutz Gefahrstofflager", "TRGS 529 — Brandschutzmassnahmen"}},
		{ID: "M386", ReductionType: "protection", SubType: "safety_control", Name: "Automatische Feuerloeschanlage vorsehen", Description: "In Bereichen mit hoher Brandlast oder erschwerter Loeschzugaenglichkeit werden automatische Feuerloeschanlagen installiert.", HazardCategory: "thermal", Examples: []string{"Sprinkleranlage in Gefahrstofflager", "CO2-Loeschanlage in Schaltschrankraum"}, NormReferences: []string{"TRGS 509 — Brandschutztechnische Ausstattung", "TRGS 510 — Brandschutz"}},
		{ID: "M387", ReductionType: "information", SubType: "organizational", Name: "Feuerloescher bereitstellen und pruefen", Description: "Geeignete Feuerloescher werden in ausreichender Anzahl und Brandklasse bereitgestellt und regelmaessig geprueft.", HazardCategory: "thermal", Examples: []string{"ABC-Pulverloescher alle 20 m Laufweg", "Jaehrliche Sachkundigenprüfung"}, NormReferences: []string{"TRGS 509 — Loeschmittel", "ASR A2.2 — Massnahmen gegen Braende"}},
		{ID: "M388", ReductionType: "protection", SubType: "safety_control", Name: "Flammendurchschlagsicherungen an Rohrleitungen", Description: "Rohrleitungen die brennbare Gase oder Daempfe fuehren werden mit Flammendurchschlagsicherungen ausgestattet.", HazardCategory: "material_environmental", Examples: []string{"Deflagrationssicherung an Tankentlueftung", "Detonationssicherung in Gasleitung"}, NormReferences: []string{"TRGS 751 — Flammendurchschlagsicherungen", "EN 16852"}},
		{ID: "M389", ReductionType: "design", SubType: "geometry", Name: "Brandschutzabstaende einhalten", Description: "Zwischen Gefahrstofflagern, Betriebseinrichtungen und Gebaeuden werden die vorgeschriebenen Brandschutzabstaende eingehalten.", HazardCategory: "thermal", Examples: []string{"5 m Abstand Gefahrstofflager zu Gebaeude", "10 m Abstand zwischen Lagerbereichen"}, NormReferences: []string{"TRGS 510 — Brandschutzabstaende", "TRGS 741 — Schutzabstaende"}},
		{ID: "M390", ReductionType: "information", SubType: "organizational", Name: "Flucht- und Rettungswege freihalten und kennzeichnen", Description: "Flucht- und Rettungswege werden freigehalten, beleuchtet, gekennzeichnet und in einem Flucht- und Rettungsplan dokumentiert.", HazardCategory: "general", Examples: []string{"Nachleuchtende Fluchtwegschilder", "Sicherheitsbeleuchtung an Fluchtwegen"}, NormReferences: []string{"ASR A2.3 — Fluchtwege", "TRGS 510 — Fluchtweglängen"}},

		// ══════════════════════════════════════════════════════════════
		// Strahlung/Laser (5 Massnahmen) — Gap: 29 obligations, 0 Massnahmen
		// Quellen: OSHA TM Section III Ch.6, ASR A3.4 §7.3,
		//          TRGS 525 (ionisierende Strahlung im Labor)
		// ══════════════════════════════════════════════════════════════
		{ID: "M391", ReductionType: "information", SubType: "organizational", Name: "Laser-Gefahrenklasse bestimmen und dokumentieren", Description: "Jeder Laser wird nach seiner Gefahrenklasse (1 bis 4) klassifiziert und die Klassifizierung am Geraet und in der Dokumentation vermerkt.", HazardCategory: "general", Examples: []string{"Klassifizierung nach IEC 60825-1", "Laser-Gefahrenklassen-Aufkleber"}, NormReferences: []string{"OSHA TM — Laser Safety", "IEC 60825-1"}},
		{ID: "M392", ReductionType: "protection", SubType: "fixed_guard", Name: "Laserbereich absichern und kennzeichnen", Description: "Der Bereich in dem gefaehrliche Laserstrahlung auftreten kann wird abgegrenzt, gekennzeichnet und der Zugang beschraenkt.", HazardCategory: "general", Examples: []string{"Laserwarnschilder an Zugaengen", "Verriegelte Laserschutzkabine"}, NormReferences: []string{"OSHA TM — Laser Safety", "IEC 60825-1"}},
		{ID: "M393", ReductionType: "information", SubType: "organizational", Name: "Laserschutzbeauftragten benennen", Description: "Fuer Laser der Klasse 3B und 4 wird ein Laserschutzbeauftragter bestellt der die Einhaltung der Schutzmassnahmen ueberwacht.", HazardCategory: "general", Examples: []string{"Bestellung mit Qualifikationsnachweis", "Jaehrliche Fortbildung Laserschutz"}, NormReferences: []string{"OSHA TM — Laser Safety", "OStrV §5"}},
		{ID: "M394", ReductionType: "information", SubType: "ppe", Name: "Laserschutzbrillen bereitstellen", Description: "Fuer alle Personen im Laserbereich werden geeignete Laserschutzbrillen mit korrekter Schutzstufe und Wellenlaenge bereitgestellt.", HazardCategory: "general", Examples: []string{"Laserschutzbrille OD 5+ fuer Wellenlaenge", "Schutzfilter an Beobachtungsfenstern"}, NormReferences: []string{"OSHA TM — Laser Safety", "EN 207"}},
		{ID: "M395", ReductionType: "protection", SubType: "extraction", Name: "Absaugung bei Laserbearbeitung", Description: "Bei Laserbearbeitung entstehende Rauche, Daempfe und Partikel werden direkt am Bearbeitungspunkt abgesaugt.", HazardCategory: "material_environmental", Examples: []string{"Absaugduese am Laserschneidkopf", "Filteranlage fuer Laserrauch"}, NormReferences: []string{"OSHA TM — Laser Safety", "EN 12254"}},

		// ══════════════════════════════════════════════════════════════
		// TRBS 1115 — Cybersecurity MSR (3 Massnahmen)
		// Gap: Existing M121-M130 cover IEC 62443 general IT/OT,
		//      but NOT the TRBS 1115-specific obligations for safety-
		//      relevant MSR equipment (SPS, safety relays, PLCs).
		// Quellen: TRBS 1115, TRBS 1115 Teil 1
		// ══════════════════════════════════════════════════════════════
		{ID: "M396", ReductionType: "information", SubType: "organizational", Name: "Cybersicherheits-Gefaehrdungsbeurteilung fuer MSR-Einrichtungen", Description: "Fuer sicherheitsrelevante MSR-Einrichtungen wird eine spezifische Cybersicherheits-Gefaehrdungsbeurteilung durchgefuehrt die Bedrohungen und Schwachstellen systematisch ermittelt.", HazardCategory: "cyber_network", Examples: []string{"Bedrohungsanalyse fuer Safety-SPS", "Schwachstellenbewertung Fernwartungszugang"}, NormReferences: []string{"TRBS 1115 Teil 1 — Cybersicherheit MSR", "IEC 62443-3-2"}},
		{ID: "M397", ReductionType: "information", SubType: "organizational", Name: "Cybersicherheitsmassnahmen fuer MSR pruefen", Description: "Die Wirksamkeit der Cybersicherheitsmassnahmen an sicherheitsrelevanten MSR-Einrichtungen wird regelmaessig und nach Aenderungen geprueft.", HazardCategory: "cyber_network", Examples: []string{"Jaehrliche Pruefung Cybersicherheit Safety-SPS", "Pruefung nach Firmware-Update"}, NormReferences: []string{"TRBS 1115 Teil 1 — Cybersicherheit MSR", "BetrSichV §14"}},
		{ID: "M398", ReductionType: "information", SubType: "organizational", Name: "Aenderungsmanagement fuer MSR-Cybersicherheit", Description: "Aenderungen an sicherheitsrelevanten MSR-Einrichtungen werden hinsichtlich ihrer Auswirkungen auf die Cybersicherheit bewertet bevor sie umgesetzt werden.", HazardCategory: "cyber_network", Examples: []string{"Cybersicherheitsbewertung bei SPS-Programmänderung", "Freigabeprozess fuer Safety-Software-Updates"}, NormReferences: []string{"TRBS 1115 Teil 1 — Cybersicherheit MSR", "IEC 62443-2-4"}},

		// ══════════════════════════════════════════════════════════════
		// TRBS 1112 — Instandhaltung (3 Massnahmen)
		// Gap: Existing M210-M212 cover LOTO and post-maintenance checks,
		//      but NOT the specific hazards from TRBS 1112 Anhang 2
		//      (disabled guards, coordination, controlled manual operation).
		// Quellen: TRBS 1112, TRBS 1112 §4.4, TRBS 1112 Anhang 2
		// ══════════════════════════════════════════════════════════════
		{ID: "M399", ReductionType: "information", SubType: "organizational", Name: "Gefaehrdungsbeurteilung fuer Instandhaltungsarbeiten", Description: "Vor Instandhaltungsarbeiten wird eine spezifische Gefaehrdungsbeurteilung durchgefuehrt die die besonderen Gefaehrdungen bei deaktivierten Schutzeinrichtungen beruecksichtigt.", HazardCategory: "mechanical", Examples: []string{"Risikoanalyse fuer Stoerungssuche bei laufender Maschine", "Gefaehrdungsbeurteilung Erprobung nach Reparatur"}, NormReferences: []string{"TRBS 1112 — Instandhaltung", "BetrSichV §3"}},
		{ID: "M400", ReductionType: "protection", SubType: "safety_control", Name: "Kontrollierte Handsteuerung bei deaktivierten Schutzeinrichtungen", Description: "Wenn Schutzeinrichtungen fuer Instandhaltung entfernt oder deaktiviert werden muessen, erfolgt der Betrieb nur mit kontrollierter Handsteuerung innerhalb sicherer Parameter.", HazardCategory: "mechanical", Examples: []string{"Zustimmschalter fuer Testbetrieb", "Reduzierte Geschwindigkeit bei geoeffneter Schutztuer"}, NormReferences: []string{"TRBS 1112 — Instandhaltung Anhang 2", "ISO 12100 — Betriebsarten"}},
		{ID: "M401", ReductionType: "information", SubType: "organizational", Name: "Koordination von Instandhaltung durch Fremdfirmen", Description: "Bei Instandhaltungsarbeiten durch Fremdfirmen werden Verantwortlichkeiten, Gefaehrdungen und Schutzmassnahmen vorab schriftlich koordiniert.", HazardCategory: "general", Examples: []string{"Koordinationsgespraech mit Fremdfirma", "Gemeinsames Arbeitsgenehmigungsverfahren"}, NormReferences: []string{"TRBS 1112 — Instandhaltung", "BetrSichV §13"}},

		// ══════════════════════════════════════════════════════════════
		// ASR-spezifisch (2 Massnahmen)
		// Gap: ASR A2.3 Sicherheitsbeleuchtung, ASR A1.7 kraftbetätigte Türen
		// ══════════════════════════════════════════════════════════════
		{ID: "M402", ReductionType: "protection", SubType: "monitoring", Name: "Sicherheitsbeleuchtung an Fluchtwegen und Arbeitsplaetzen", Description: "Fluchtwege und sicherheitsrelevante Arbeitsplaetze erhalten eine Sicherheitsbeleuchtung die bei Ausfall der allgemeinen Beleuchtung automatisch aktiviert wird.", HazardCategory: "general", Examples: []string{"Notbeleuchtung mit Batteriepufferung", "Nachleuchtende Leitmarkierung am Boden"}, NormReferences: []string{"ASR A3.4 — Beleuchtung", "ASR A2.3 — Fluchtwege"}},
		{ID: "M403", ReductionType: "protection", SubType: "safety_control", Name: "Quetschschutz an kraftbetaetigten Tueren und Toren", Description: "Kraftbetaetigte Tueren und Tore erhalten Schutzeinrichtungen gegen Quetschen, Scheren und Einziehen an allen Schliesskanten.", HazardCategory: "mechanical", Examples: []string{"Schaltleiste an Schiebetorunterkante", "Lichtschranke an Rolltoroeffnung"}, NormReferences: []string{"ASR A1.7 — Tueren und Tore", "EN 12453"}},

		// ══════════════════════════════════════════════════════════════
		// Elektrische Sicherheit — Potentialausgleich & Ableitstroeme
		// Gap: GT-Benchmark 2.12 (Potentialausgleich), 2.4 (Ableitstroeme)
		// ══════════════════════════════════════════════════════════════
		{ID: "M475", ReductionType: "design", SubType: "electrical_safety", Name: "Potentialausgleich zwischen Anlagenteilen", Description: "Alle leitfaehigen Anlagenteile mit unterschiedlicher Energieversorgung werden ueber einen Potentialausgleichsleiter verbunden um gefaehrliche Beruehrungsspannungen zu vermeiden.", HazardCategory: "electrical", Examples: []string{"Potentialausgleich zwischen Roboterzelle und Werkzeugmaschine", "Potentialausgleichsschiene im Schaltschrank"}, NormReferences: []string{"IEC 60204-1 Ziff. 8.2", "IEC 61439-1"}},
		{ID: "M476", ReductionType: "design", SubType: "electrical_safety", Name: "Schutz bei erhoehten Ableitstroemen", Description: "Bei Ableitstroemen ueber 10 mA wird der Schutzleiter mechanisch geschuetzt oder ein zusaetzlicher Schutzleiter verlegt und die Verbindung ueberwacht.", HazardCategory: "electrical", Examples: []string{"Schutzrohr fuer Schutzleiter an Frequenzumrichter", "Doppelter Schutzleiter mit Ueberwachung"}, NormReferences: []string{"IEC 60204-1 Ziff. 8.2.6"}},
		{ID: "M477", ReductionType: "design", SubType: "electrical_safety", Name: "Dimensionierung von Luft- und Kriechstrecken", Description: "Luft- und Kriechstrecken werden entsprechend der elektrischen Beanspruchung und Verschmutzungsgrad dimensioniert um Kurzschluesse und gefaehrliche Beruehrungsspannungen zu vermeiden.", HazardCategory: "electrical", Examples: []string{"Mindestabstaende in Schaltgeraetekombinationen einhalten", "Isolationsueberwachung installieren"}, NormReferences: []string{"IEC 60204-1 Ziff. 6.2", "IEC 61439-1"}},

		// ══════════════════════════════════════════════════════════════
		// EMV-Sicherheit
		// Gap: GT-Benchmark 6.1 (EMV-Stoereinfluss auf Sicherheitsfunktionen)
		// ══════════════════════════════════════════════════════════════
		{ID: "M478", ReductionType: "design", SubType: "emc_safety", Name: "EMV-konforme Installation und Verkabelung", Description: "Alle sicherheitsrelevanten Komponenten und Sub-Systeme werden nach EMV-Richtlinien installiert und verkabelt um Stoereinfluss auf Sicherheitsfunktionen zu verhindern.", HazardCategory: "electrical", Examples: []string{"Geschirmte Steuerleitungen verwenden", "Getrennte Kabelkanaele fuer Leistungs- und Signalleitungen"}, NormReferences: []string{"IEC 61000-6-2", "EN 16090-1 Ziff. 5.8.7"}},
		{ID: "M479", ReductionType: "design", SubType: "emc_safety", Name: "EMV-Pruefung sicherheitsrelevanter Systeme", Description: "Sicherheitsrelevante Steuerungen und Antriebe werden auf Stoerfestigkeit gegenueber elektromagnetischen Einflussgroessen geprueft.", HazardCategory: "electrical", Examples: []string{"Burst/Surge-Pruefung nach IEC 61000-4", "Stoerfestigkeitspruefung der Sicherheits-SPS"}, NormReferences: []string{"IEC 61000-4-4", "IEC 61000-4-5", "IEC 62061"}},

		// ══════════════════════════════════════════════════════════════
		// Kuehlschmierstoff-Leitungssicherheit
		// Gap: GT-Benchmark 2.10 (KSS-Leckage fuehrt zu Brand)
		// ══════════════════════════════════════════════════════════════
		{ID: "M480", ReductionType: "design", SubType: "fluid_safety", Name: "Druckfeste Auslegung von KSS-Leitungen", Description: "Schlaeuche, Dichtungen, Verbindungsstuecke und Befestigungen des Kuehlschmierstoffsystems werden auf den Nenndruck der jeweiligen Komponente ausgelegt und gegen Abspringen gesichert.", HazardCategory: "mechanical", Examples: []string{"Druckschlaeuche auf maximalen Betriebsdruck dimensionieren", "Schlauchbruchsicherungen an kritischen Verbindungen"}, NormReferences: []string{"IEC 60204-1 Ziff. 11.3", "EN ISO 4414"}},

		// ══════════════════════════════════════════════════════════════
		// Niederspannungs-Isolation (konkrete Werte vom Fachmann)
		// Gap: GT-Benchmark 2.2 (Elektrischer Schlag durch direktes Beruehren)
		// ══════════════════════════════════════════════════════════════
		{ID: "M481", ReductionType: "design", SubType: "electrical_safety", Name: "Verstaerkte oder doppelte Isolation niederspannungsfuehrender Teile", Description: "Elektrische Ausruestung im Niederspannungsbereich wird wahlweise verstaerkt isoliert (Isolationswiderstand >= 2,0 MOhm), doppelt isoliert (>= 2 x 1,0 MOhm) oder einfach isoliert (>= 1,0 MOhm) in Kombination mit einem PE-geschuetzten Gehaeuse gegen Zugriff ausgefuehrt.", HazardCategory: "electrical", Examples: []string{"Verstaerkte Isolation Niederspannungsteile >= 2,0 MOhm", "Doppelte Isolation >= 2 x 1,0 MOhm", "Einfache Isolation >= 1,0 MOhm mit PE-geschuetztem Gehaeuse"}, NormReferences: []string{"EN 60204-1 Ziff. 6.2", "EN 60204-1 Ziff. 8.2.3", "EN 61140"}},
		{ID: "M482", ReductionType: "protection", SubType: "electrical_protection", Name: "Fingersichere werkzeuggesicherte Einhausung niederspannungsfuehrender Teile (IP2X/IPXXB)", Description: "Gehaeuse um niederspannungsfuehrende Teile werden fingersicher und nur mit Werkzeug zu oeffnen ausgefuehrt. Mindestschutzart IP2X bzw. IPXXB nach IEC 60529.", HazardCategory: "electrical", Examples: []string{"Schaltschrank mit Tuerverriegelung und Werkzeugzugang", "Klemmenabdeckung mit IPXXB Fingerschutz"}, NormReferences: []string{"EN 60204-1 Ziff. 6.2.2", "IEC 60529 — IP2X/IPXXB"}},
	}
}
