# 09 缺陷呈现基建(DEFECT_LEDGER + 面板 + 角标) Type: task Status: open Blocked by: 06 ## Scope 在 fork(`demo/index.html`)落 06 号票设计: 1. `DEFECT_LEDGER` JS 常量(A 开放 14 条/B 已修复 4/C 豁免 14/D 环境 1,字段:id/level/phenomenon/location/presentation/copy)。 2. 顶栏按钮「⚠ 已知缺陷」+ 弹层渲染(纯静态零请求),容器 `data-defect-panel`,分区标题+固定声明。 3. `.dbadge` 角标样式 + `dbadge(id)` 渲染助手(`data-defect=""` + 原生 title)。 4. 各票在此基建上挂角标(本票只做基建+面板,不挂业务位置角标)。 ## Accept 面板打开可见四分区全条目;`[data-defect]` 助手可复用;console error=0。 ## Answer (2026-09-11 实施完成。) - `DEFECT_LEDGER` 常量四分区全量录入(A 开放 14 / B 已修复 4 / C 豁免 14 / D 环境 1 = 33 行),字段 id/level/phenomenon/location/how/copy,文案按 06 号票纪律。 - `dbadge(id)` 助手:`data-defect=""` + 原生 title(现象+说明),供 10-13 号票挂业务位置。 - `defectPanel()`:复用通用 `dlgOpen`,`dialog.wide` 类加宽 940px(dlgOpen 入口统一移除防污染,close 一次性监听复位);容器 `data-defect-panel`(顶栏按钮)/`data-defect-decl`(固定声明)/`data-defect-row=""`(行)。 - 验证:Playwright 打开 fork(?api= 指本地、后端未起)pageerror=0;面板打开 33 行全渲染,截图 `demo/shots/00-defect-panel.png`。fork 现 2350 行(原 2264 + 头注 4 + 本票增量)。