# 前端执行票 —— 预警效率面板消费预警自身处置流程(三张 KPI 换成条数/已解除率/平均处置时长) ## Question 票 74 已把后端契约补上(提交 `983fc27a` 已推 `origin/master`,**尚未部署**):`GET /api/cockpit/v1/events/handling-efficiency?eventFamily=WARNING` 现在回预警自身的处置流程段,票 65 当时记录的契约缺口不复存在。本票是那张缺口关闭后的**前端消费票**(票 74 验收第 5 条明令另立)。 ### 后端新契约(票 74,已实测) | 位置 | 预警族 | 报警族 | | --- | --- | --- | | `warningStateCounts` | `[{stateCode, stateName, count}]`,`WarningWorkflow` 六态全铺(缺桶计 0),脏状态进 `UNKNOWN` 桶 | `null` | | `summary.warningHandlingEfficiency` | `{value, numerator, denominator, state, reason, basis}`,已解除 ÷ 窗口内预警数;分母 0 → `state=EMPTY` + `reason=NO_WARNINGS` | `null` | | `summary.warningDuration` | `{value, unit, sampleCount, state, reason}`,发布→已解除平均时长;无样本 → `EMPTY` + `NO_CLOSED_WARNINGS` | `null` | | `summary.handledCount/inProgressCount/cancelledCount`、`handlingEfficiency`、`averageDuration`、`workOrderStateCounts` | **全部 `null`** | 原样 | | `durationTrend[]` | `eventCount` 保留,`handledCount`/`averageDuration` 为 `null` | 原样 | 真实环境实测(第二实例 8399,同一联调库,窗口 2026-09-23 ~ 2026-10-23):`totalEvents=7`、`linkedWorkOrderCount=0`、六态 `PENDING 3 / PROCESSING 1 / CLOSED 3`(和=7)、已解除率 `3/7=0.4286`、时长 `0.64h`(3 样本)。证据:`verify/artifacts/t74/warning-family-live.json`(票 74 落盘)。 ### 本票要做的 1. `toHandlingEfficiency()` 读新字段(`warningStateCounts` / `summary.warningHandlingEfficiency` / `summary.warningDuration`),**null 保真**(不把 null 数成 0;票 42/票 20 同一纪律)。 2. `warningEfficiencyKpis()` 三张卡换成预警自身读数:**预警条数 / 已解除率 / 平均处置时长**(块结构不重排,票 65 已预留接缝)。 3. 预警模式补「预警状态分布」块(六态,用 `barsBlock` 或既有分布块,词表取 `WarningWorkflow` 中文名,**不在前端另造一套状态词**)。 4. `WARNING_EFFICIENCY_GAP` 这段「后端尚未提供」的口径说明**必须改写**——缺口已补,留着就是谎话;新文案说清「这些数是预警自身的处置流程统计」与已解除率的分母。 5. `contractMocks.js` 的 efficiency mock 同步新形状(含 `EMPTY`/`NO_WARNINGS` 空态),静态样例仍遵守本图 Notes 的「不为演示改写样例」裁定。 6. 闸门 t65(51/51 现役)按新契约改写/扩条:预警族 null 纪律、六态和=条数、空态原因码、报警族零回归。 ## 非目标 - 不动后端(票 74 已交付)。 - 不改报警族工单口径与工单列表(票 65 已收口)。 ## 验收 1. 预警模式下三张 KPI=条数 / 已解除率 / 平均处置时长,读数与后端回显一致;空态走占位符不画假 0。 2. 预警状态分布六态与响应一致(含 0 桶),脏状态进「未知」。 3. 报警模式零回归(t65 既有断言全绿)。 4. `WARNING_EFFICIENCY_GAP` 不再声称「后端未提供」。 5. 后端**部署后**在 `http://127.0.0.1:8000/#/cockpit` 走查预警模式三卡与分布块(走查归票 18 联调窗口;本机 mock 可先验形状)。 ## 关联 - 上游:[票 74 —— 预警效率端点缺预警自身处置流程字段](74-warning-efficiency-backend-contract.md)(后端已交付 `983fc27a`)。 - 前身:[票 65 —— 预警效率面板按预警/报警分流](65-untitled.md)(当时只做诚实分流 + 记缺口)。 - 同族纪律:[票 41](41-warning-settings-endpoint-rework.md)(预警族 null 保真)、[票 42](42-42.md)(缺失不画假 0)。 ## 进度 Status: ready-for-agent Type: task Blocked by: Labels: wayfinder:task, ready-for-agent ## Comments ## Answer