Merge pull request #1605 from pikasTech/fix/nc01-sentinel-recovery-catalog
Pipelines as Code CI / hwlab-web-probe-sentinel-jd01- Success
Pipelines as Code CI / hwlab-web-probe-sentinel-nc01- Failed

fix(monitor): register sentinel recovery findings
This commit is contained in:
Lyon
2026-07-09 03:20:02 +08:00
committed by GitHub
2 changed files with 20 additions and 4 deletions
@@ -1011,3 +1011,19 @@ sentinel:
actionZh: 按详情中的状态码和路径追溯后端日志/OTel,先修复 5xx 响应。
blocking: true
order: 1240
- code: WBC-125
id: workbench-automatic-recovery-fanout-authority
level: error
titleZh: Workbench 自动恢复来源违规
summaryZh: Workbench 自动恢复使用了直接 trace/session/turn 扇出,而不是 sync replay authority。
actionZh: 检查 web-performance runtime diagnostics、network artifact 和 sync replay 证据,恢复自动恢复入口的 authority 约束。
blocking: true
order: 1250
- code: WBC-126
id: workbench-sync-replay-evidence-missing
level: warning
titleZh: Workbench sync replay 证据缺失
summaryZh: 已采集到 Workbench 恢复诊断,但 artifact 窗口内缺少 sync replay 诊断或 /v1/workbench/sync 网络记录。
actionZh: 检查 web-performance runtime diagnostics 和 network artifact 采集,补齐 sync replay authority 证据。
blocking: false
order: 1260
@@ -529,11 +529,11 @@ function renderWebProbeSentinelConfigPlan(value: WebProbeSentinelConfigPlan): st
"",
"Blocked detail:",
sentinelTable(["KIND", "VALUE"], [
...value.conflicts.map((item) => ["conflict", short(item, 140)]),
...value.conflicts.map((item) => ["conflict", item]),
...value.refs.flatMap((ref) => [
...(ref.error === null ? [] : [[`${ref.key}.error`, short(ref.error, 140)]]),
...(ref.missingFields.length === 0 ? [] : [[`${ref.key}.missing`, short(ref.missingFields.join(","), 140)]]),
...(ref.conflicts.length === 0 ? [] : [[`${ref.key}.conflict`, short(ref.conflicts.join(" | "), 140)]]),
...(ref.error === null ? [] : [[`${ref.key}.error`, ref.error]]),
...(ref.missingFields.length === 0 ? [] : [[`${ref.key}.missing`, ref.missingFields.join(",")]]),
...(ref.conflicts.length === 0 ? [] : [[`${ref.key}.conflict`, ref.conflicts.join(" | ")]]),
]),
]),
];