8563798c4f
Class E1. A multi-category pattern (e.g. "Motorueberlast" [electrical, thermal], "Lagerschaden" [mechanical, thermal]) created one hazard per category, so the same scenario+zone appeared twice in the CE hazard log under different labels. InitializeProject now breaks after the primary (first eligible) category — one hazard per pattern. This aligns production with the GT benchmark, which already scores one hazard per matched pattern. Cyber-skip, per-category cap and cross-pattern measure-merge still use continue (unchanged). Handlers + iace suites green; Kistenhub/Bremse unchanged. Note (E2, not fixed): some scenarios exist as TWO separate patterns (e.g. "Sicherheitssoftware manipuliert" in hazard_patterns_final_c.go and _final_d.go) — library redundancy that E1's per-pattern break cannot merge. Left for a separate, GT-guarded library-dedup audit. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>