fix(monitor): register sentinel recovery findings

This commit is contained in:
Codex
2026-07-08 21:19:24 +02:00
parent 4bf02772c4
commit 6f5da3d6af
2 changed files with 20 additions and 4 deletions
@@ -1011,3 +1011,19 @@ sentinel:
actionZh: 按详情中的状态码和路径追溯后端日志/OTel,先修复 5xx 响应。 actionZh: 按详情中的状态码和路径追溯后端日志/OTel,先修复 5xx 响应。
blocking: true blocking: true
order: 1240 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:", "Blocked detail:",
sentinelTable(["KIND", "VALUE"], [ sentinelTable(["KIND", "VALUE"], [
...value.conflicts.map((item) => ["conflict", short(item, 140)]), ...value.conflicts.map((item) => ["conflict", item]),
...value.refs.flatMap((ref) => [ ...value.refs.flatMap((ref) => [
...(ref.error === null ? [] : [[`${ref.key}.error`, short(ref.error, 140)]]), ...(ref.error === null ? [] : [[`${ref.key}.error`, ref.error]]),
...(ref.missingFields.length === 0 ? [] : [[`${ref.key}.missing`, short(ref.missingFields.join(","), 140)]]), ...(ref.missingFields.length === 0 ? [] : [[`${ref.key}.missing`, ref.missingFields.join(",")]]),
...(ref.conflicts.length === 0 ? [] : [[`${ref.key}.conflict`, short(ref.conflicts.join(" | "), 140)]]), ...(ref.conflicts.length === 0 ? [] : [[`${ref.key}.conflict`, ref.conflicts.join(" | ")]]),
]), ]),
]), ]),
]; ];