fix(ai-sdk): supersede foreign-framed stored-energy duplicate for warewashing
HP013 (stored electrical energy) fires for dishwashers via the broad stored_energy tag but its zone is framed for Batteriefaecher/USV-Anlagen, which a dishwasher does not have. The precise residual-voltage pattern HP144 (Frequenzumrichter/Zwischenkreis, Priority 90) already fires and covers the same hazard. Add HP013 to the warewashing-scoped supersession set so the duplicate is dropped only when dom_warewashing is present. Warewashing recall stays 100% (25/25), precision 92.6% -> 96.2%. Kistenhub/Bremse keep HP013 (no dom_warewashing); 26 Bremse pins + benchmark unaffected. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -53,9 +53,14 @@ func guardedLifecycles(p HazardPattern, tagSet map[string]bool) []string {
|
|||||||
//
|
//
|
||||||
// HP016 (generic hot surfaces) -> HP2201 (Boiler/Tank/Spuelkammer)
|
// HP016 (generic hot surfaces) -> HP2201 (Boiler/Tank/Spuelkammer)
|
||||||
// HP018 (actuator burn) -> HP2201 (same contact-burn hazard)
|
// HP018 (actuator burn) -> HP2201 (same contact-burn hazard)
|
||||||
|
// HP013 (stored electrical NRG) -> HP144 (residual voltage; HP013's zone is
|
||||||
|
// framed for Batteriefaecher/USV-Anlagen a
|
||||||
|
// dishwasher does not have, HP144 is the
|
||||||
|
// Frequenzumrichter/Zwischenkreis variant)
|
||||||
var genericSupersededByWarewashing = map[string]bool{
|
var genericSupersededByWarewashing = map[string]bool{
|
||||||
"HP016": true,
|
"HP016": true,
|
||||||
"HP018": true,
|
"HP018": true,
|
||||||
|
"HP013": true,
|
||||||
}
|
}
|
||||||
|
|
||||||
// supersededByDomainSpecific reports whether a generic pattern is replaced by a
|
// supersededByDomainSpecific reports whether a generic pattern is replaced by a
|
||||||
|
|||||||
Reference in New Issue
Block a user