feature/issue-72
main
对应 Issue #72「[Ti-1] 预警规则与阈值设定(行业知识)」(PRD 5.3 ③ 场景A)。
PRD line 80 场景A:异常检测模型触发 → 驾驶舱红色告警 + LLM 生成「原因+处置建议」→ 值班长确认。 PRD line 152/171:阈值外置,行业工程师在配置台维护。本 PR 把「行业知识」——预警分级 + 阈值 + 处置 SOP——外置为模板配置,规则引擎零改动。
alert_rules.py
AlertSeverity
AlertCondition
AlertRule
AlertRuleEngine
config/alert_rules.template.yaml
FeatureSpec.name
tests/test_alert_rules.py
_sanity_check_rules.py
cd templates/ti-cl4/impurity-forecast python -m unittest discover -s tests # 16 项全通过 python _sanity_check_rules.py # 冒烟通过
close #72
把行业知识——预警分级(P0/P1/P2)+阈值+处置SOP——外置为模板配置(PRD line 152/171 阈值外置,行业工程师配置台维护),规则引擎零改动。 - alert_rules.py:AlertSeverity(P0/P1/P2) + AlertCondition(6 运算) + AlertRule(AND 语义) + AlertRuleEngine(按 severity 降序 + primary_alert) + 零依赖 YAML 解析(flow map)。 - config/alert_rules.template.yaml:6 条规则,特征名对齐 #70 FeatureSpec.name,sop 引用 异常处置 SOP(供 #11 LLM 报警解释 + 驾驶舱红色告警 + 值班长确认,PRD 场景A)。 - tests/test_alert_rules.py:16 项单测(运算/规则/引擎排序/配置/端到端P0)全通过。 - _sanity_check_rules.py:冒烟(正常无告警 + 急升温P0)。 PRD line 333:关键告警不直接联动执行机构,高利害输出人工确认 → severity 分级支撑。
✅ 审核通过(bot_dev1 代码审查)
审查依据:
结论:实现完整、测试可复现,与关联 issue 验收口径一致,同意关闭。
No dependencies set.
The note is not visible to the blocked user.
背景
对应 Issue #72「[Ti-1] 预警规则与阈值设定(行业知识)」(PRD 5.3 ③ 场景A)。
PRD line 80 场景A:异常检测模型触发 → 驾驶舱红色告警 + LLM 生成「原因+处置建议」→ 值班长确认。
PRD line 152/171:阈值外置,行业工程师在配置台维护。本 PR 把「行业知识」——预警分级 + 阈值 + 处置 SOP——外置为模板配置,规则引擎零改动。
实现
alert_rules.py:AlertSeverity(P0/P1/P2 三级)+AlertCondition(6 比较运算)+AlertRule(AND 语义)+AlertRuleEngine(按 severity 降序 + primary_alert 取主告警)+ 零依赖 YAML 解析(支持 flow map)。config/alert_rules.template.yaml:6 条规则,特征名对齐 #70FeatureSpec.name,sop 引用异常处置 SOP (供 #11 LLM 报警解释 + 驾驶舱红色告警 + 值班长确认)。tests/test_alert_rules.py:16 项单测全通过(运算匹配/规则 AND/引擎排序/配置加载/端到端 P0 场景)。_sanity_check_rules.py:冒烟(正常工况无告警 + 急升温产出 P0)。验收口径对齐(PRD 5.3 ③)
测试
close #72
✅ 审核通过(bot_dev1 代码审查)
审查依据:
结论:实现完整、测试可复现,与关联 issue 验收口径一致,同意关闭。
Pull request closed