Commit Graph

5 Commits

Author SHA1 Message Date
Benjamin Admin 6d2616cad7 feat(iace): Sprint 4A — Residual Risk Modeling (Suppression Engine)
RiskReduction Struct + automatische Risk Trajectory:
- RiskReduction{SeverityDelta, ExposureDelta, ProbabilityDelta} auf ProtectiveMeasureEntry
- CalculateRiskTrajectory() in engine.go: berechnet schrittweise Risikoreduktion
  entlang ISO 12100 Hierarchie (design → protection → information)
- Kumulative Deltas pro Stufe, Clamp auf Minimum 1
- RiskTrajectoryStep mit Stage, S/E/P, Score, Level, IsAcceptable

101 Massnahmen mit RiskReduction-Profilen versehen:
- Design/Geometry (M001-M010): S-1, E-1 (Gefahrstelle eliminiert)
- Design/Force (M011-M022): S-2 (Energie/Kraft reduziert)
- Design/Control (M039-M050): P-2 (sichere Steuerung)
- Protection/Guards (M061-M072): E-2 (Zugang verhindert)
- Protection/Electro (M073-M079): E-1, P-1 (Erkennung)
- Protection/Safety (M105-M113): P-2 (sichere SPS)
- Protection/Monitoring (M114-M120): P-1 (Frueerkennung)
- Protection/Cyber (M121-M130): P-1
- Information/Training (M161-M168): P-1
- Information/PPE (M169-M175): S-1

8 neue Tests: NoMeasures, DesignReduce, FullHierarchy, ClampMin1,
  OnlyProtection, WithoutReduction, MandatoryAsProtective, LibraryCount

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 09:15:43 +02:00
Benjamin Admin 8682522212 feat: Variantenmanagement — Sub-Projekte mit GAP-Analyse
Backend:
- parent_project_id auf iace_projects (DB + Go Struct)
- POST/GET /variants + GET /variant-gap Endpoints
- GAP-Analyse: Differenz Hazards/Massnahmen/Kategorien

Frontend:
- VariantPanel auf Projekt-Uebersicht
- Variante erstellen Dialog
- Sidebar-Anzeige (Variantenanzahl / Basis-Link)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 10:47:01 +02:00
Benjamin Admin e5dcb5a2dc feat: 25 Norm-Pflichtmassnahmen (Mandatory=true)
Neue Kategorie: Massnahmen die durch harmonisierte Normen VORGESCHRIEBEN
sind. Abweichung = Verlust der Konformitaetsvermutung.

Pressen: Zweihandschaltung, Stoesselabsturzsicherung, Schutztuere
Roboter/Cobot: Kraft-/Geschwindigkeitsbegrenzung, Sicherheitsscanner
Aufzuege: Fangvorrichtung, Geschwindigkeitsbegrenzer, Puffer
Gabelstapler: Redundante Lastaufnahme, Kippschutz
Holz: Spaltkeil, Saegeblattschutzhaube
Krane: Ueberlastsicherung, Endschalter
Allgemein: Not-Halt, Hauptschalter, Schutzleiter, PL/SIL-Nachweis
AGV: Personenerkennung, Notbremse
Kettensaege: Kettenbremse
Fahrtreppe: Kammplatte
Druckgeraete: Sicherheitsventil
Schweissen: Leerlaufspannungsbegrenzung

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 07:39:43 +02:00
Benjamin Admin 3d7b09bcef feat: Massnahmen-Bibliothek auf 200 erweitert (3-Stufen)
60 Design + 80 Schutz + 60 Information — alle mit Normenreferenzen.
Subtypes: geometry, force_energy, material, ergonomics, control_design,
fixed_guard, movable_guard, electro_sensitive, emergency_stop,
electrical/thermal/fluid protection, extraction, signage, manual,
training, ppe, organizational, marking.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-07 14:23:15 +02:00
Sharang Parnerkar 3f1444541f refactor(go/iace): split tech_file_generator, hazard_patterns, models, completeness
Split 4 oversized files (503-679 LOC each) into focused units all under 500 LOC:
- tech_file_generator.go → +_prompts, +_prompt_builder, +_fallback
- hazard_patterns_extended.go → +_extended2.go (HP074-HP102 extracted)
- models.go → +_entities.go, +_api.go (enums / DB entities / API types)
- completeness.go → +_gates.go (gate definitions extracted)

All files remain in package iace. Zero behavior changes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 10:03:44 +02:00