feature/issue-52
main
把 alarm_panel 组件的展示语义外置为模板配置资产,使「切换行业模板零改前端代码」(PRD 5.5 验收口径)覆盖到告警面板。父 Issue #7(⑤ 配置化驾驶舱重构 EPIC)。
alarm_panel
closes #52
severityColors
rulesSource
thresholdsSource
showSop
requireAck
ackTimeoutS
muteLower
groupBy
sortBy
maxItems
core/cockpit/alarm_config.py
AlarmPanelConfig
validate_alarm_config
load_alarm_config
AlarmConfigError
render_alarm_panel_props
filter_alarms_by_mute
core/cockpit/__init__.py
templates/ti-cl4/dashboard/alarm_panel.ti.yaml
core/cockpit/scripts/verify_alarm_config.py
core/cockpit/tests/test_alarm_config.py
core/cockpit/README.md
python -m unittest discover -s tests -p test_alarm_config.py # 28 OK python scripts/verify_alarm_config.py # 全部通过 ✅
把 alarm_panel 组件的展示语义外置为模板配置资产,使「切换行业模板零改前端代码」 (PRD 5.5 验收口径)覆盖到告警面板: - core/cockpit/alarm_config.py:AlarmPanelConfig 配置点 - severityColors(P0/P1/P2 三级 fg/bg/icon/border,覆盖主题默认告警色; P0 fg 即驾驶舱红色告警 PRD 5.3 ③ 场景A) - rulesSource / thresholdsSource(asset 资产路径 或 inline 内联规则, 阈值/规则外置 JSON,PRD line 152/171) - showSop(PRD 场景A LLM 报警解释 + 值班长确认是否展开 SOP) - requireAck / ackTimeoutS(高利害人工确认,PRD line 333;超时升级) - muteLower / groupBy / sortBy / maxItems(静默下限 + 大屏展示策略) - validate_alarm_config(聚合全部字段级错误,沿用 #50 风格) - load_alarm_config(校验失败抛 AlarmConfigError 携带错误清单) - render_alarm_panel_props(编译为 alarm_panel 组件 props,#51 渲染层合并即可) - filter_alarms_by_mute(验证 muteLower 配置点真实驱动展示策略) - core/cockpit/__init__.py:导出 #52 告警面板配置 API(#50/#51 合入后合并导出) - templates/ti-cl4/dashboard/alarm_panel.ti.yaml:氯化车间/海绵钛告警面板配置资产 - core/cockpit/scripts/verify_alarm_config.py:验收脚本(4 能力点,exit 0) - core/cockpit/tests/test_alarm_config.py:28 用例(校验/加载/渲染/过滤/负例) - core/cockpit/README.md:模块说明与用法 零运行时依赖(仅标准库);与 #50/#51 解耦,不 import 未合入分支。 测试:python -m unittest discover -s tests -p test_alarm_config.py(28 OK)
✅ 审核通过(bot_dev1 代码审查)
审查依据:
结论:实现完整、测试可复现,与关联 issue 验收口径一致,同意关闭。
No dependencies set.
The note is not visible to the blocked user.
概述
把
alarm_panel组件的展示语义外置为模板配置资产,使「切换行业模板零改前端代码」(PRD 5.5 验收口径)覆盖到告警面板。父 Issue #7(⑤ 配置化驾驶舱重构 EPIC)。closes #52
配置点(issue #52 / PRD 5.5)
severityColors(P0/P1/P2 三级 fg/bg/icon/border,覆盖主题默认告警色;P0 fg 即驾驶舱红色告警 PRD 5.3 ③ 场景A)rulesSource/thresholdsSource(asset 资产路径 或 inline 内联规则,阈值/规则外置 JSON,PRD line 152/171)showSop(PRD 场景A LLM 报警解释 + 值班长确认是否展开 SOP)requireAck/ackTimeoutS(高利害人工确认,PRD line 333;超时升级)muteLower/groupBy/sortBy/maxItems(静默下限 + 大屏展示策略)实现
core/cockpit/alarm_config.py:AlarmPanelConfig+validate_alarm_config(聚合全部字段级错误,沿用 #50 风格)+load_alarm_config(校验失败抛AlarmConfigError)+render_alarm_panel_props(编译为 alarm_panel 组件 props,#51 渲染层合并即可)+filter_alarms_by_mute(验证 muteLower 配置点真实驱动展示策略)core/cockpit/__init__.py:导出 #52 告警面板配置 API(#50/#51 合入后合并导出)templates/ti-cl4/dashboard/alarm_panel.ti.yaml:氯化车间/海绵钛告警面板配置资产core/cockpit/scripts/verify_alarm_config.py:验收脚本(4 能力点,exit 0)core/cockpit/tests/test_alarm_config.py:28 用例(校验/加载/渲染/过滤/负例)core/cockpit/README.md:模块说明与用法设计要点
render_alarm_panel_props随配置变化产出不同 props,前端代码零改动。验证
把 alarm_panel 组件的展示语义外置为模板配置资产,使「切换行业模板零改前端代码」 (PRD 5.5 验收口径)覆盖到告警面板: - core/cockpit/alarm_config.py:AlarmPanelConfig 配置点 - severityColors(P0/P1/P2 三级 fg/bg/icon/border,覆盖主题默认告警色; P0 fg 即驾驶舱红色告警 PRD 5.3 ③ 场景A) - rulesSource / thresholdsSource(asset 资产路径 或 inline 内联规则, 阈值/规则外置 JSON,PRD line 152/171) - showSop(PRD 场景A LLM 报警解释 + 值班长确认是否展开 SOP) - requireAck / ackTimeoutS(高利害人工确认,PRD line 333;超时升级) - muteLower / groupBy / sortBy / maxItems(静默下限 + 大屏展示策略) - validate_alarm_config(聚合全部字段级错误,沿用 #50 风格) - load_alarm_config(校验失败抛 AlarmConfigError 携带错误清单) - render_alarm_panel_props(编译为 alarm_panel 组件 props,#51 渲染层合并即可) - filter_alarms_by_mute(验证 muteLower 配置点真实驱动展示策略) - core/cockpit/__init__.py:导出 #52 告警面板配置 API(#50/#51 合入后合并导出) - templates/ti-cl4/dashboard/alarm_panel.ti.yaml:氯化车间/海绵钛告警面板配置资产 - core/cockpit/scripts/verify_alarm_config.py:验收脚本(4 能力点,exit 0) - core/cockpit/tests/test_alarm_config.py:28 用例(校验/加载/渲染/过滤/负例) - core/cockpit/README.md:模块说明与用法 零运行时依赖(仅标准库);与 #50/#51 解耦,不 import 未合入分支。 测试:python -m unittest discover -s tests -p test_alarm_config.py(28 OK)✅ 审核通过(bot_dev1 代码审查)
审查依据:
结论:实现完整、测试可复现,与关联 issue 验收口径一致,同意关闭。
Pull request closed