feat: IACE SIL/PL calculator + Cobot patterns + library extensions

SIL/PL Calculator: Deterministic S×E×P → PL (a-e) → SIL (1-3) mapping
Cobot Patterns (HP059-HP065): Human-robot collision, afterrun, misprogramming
Press Patterns split into separate file (500-line guardrail)
5 new components (C136-C140), 5 new tags, 18 keyword entries

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-05-05 09:29:03 +02:00
parent ea8353f1a0
commit 8dd1581fae
9 changed files with 430 additions and 150 deletions
@@ -52,11 +52,13 @@ type PatternEngine struct {
patterns []HazardPattern
}
// NewPatternEngine creates a PatternEngine with built-in + extended patterns and resolver.
// NewPatternEngine creates a PatternEngine with all pattern sources and resolver.
func NewPatternEngine() *PatternEngine {
// Combine built-in (HP001-HP044) and extended (HP045+) patterns
patterns := GetBuiltinHazardPatterns()
patterns = append(patterns, GetExtendedHazardPatterns()...)
// Combine all pattern sources
patterns := GetBuiltinHazardPatterns() // HP001-HP044
patterns = append(patterns, GetExtendedHazardPatterns()...) // HP045+ from rule library
patterns = append(patterns, GetPressHazardPatterns()...) // HP045-HP058 press-specific
patterns = append(patterns, GetCobotHazardPatterns()...) // HP059-HP065 cobot-specific
return &PatternEngine{
resolver: NewTagResolver(),
patterns: patterns,