Record real Playwright ledgers, mark 20 audits and 9 remediations done, and leave management-implementation-plan as plan-only.
2.7 KiB
2.7 KiB
title, status, created, updated, severity
| title | status | created | updated | severity |
|---|---|---|---|---|
| UI-13a 用整行 option 文案误判编制负责人 | done | 2026-09-13 | 2026-09-22 | high |
UI-13a 用整行 option 文案误判编制负责人
W3 UI-rerun 关闭(2026-09-22):
status=done。真实 Playwright 账本 PASS:ui-acceptance-results.json(main UI-00..16)+ui-acceptance-results-post-restart.json(UI-15)。任务 tip 已合入本地dev;详见 short-term 与 测试报告。
现象
第16轮真实 UI(schema 30,dev@dd5671e):UI-00 至 UI-12 PASS;分类导航修复已实证,UI-13a 已能从「我的私密」切回「流程受控」并打开 reviewer B 权限矩阵。
失败在职责断言:intakeRow.innerText 被整行匹配,报 reviewer B must not be 编制负责人。实际 innerText 为:
V0.5 用户初始需求收集表当前打开 状态: drafting ✍️ 编制负责人 🔍 审核负责人 👑 批准负责人 👁️ 查阅者 (只读) 前往
根因分析
| 层 | 问题 | 后果 |
|---|---|---|
| 职责单元格 | onRoleChangeForDoc 存在时渲染 <select>,四个 option 文案都在 DOM |
element.innerText 含全部 option |
| 验收 | /编制负责人/.test(整行文本) |
审核人行也被判成编制负责人 |
| 控件语义 | select/badge 无稳定 data-testid / data-doc-role |
脚本只能刮行文案 |
select 的 value 才是当前职责。USER_B 在 UI-01 被明确分配 reviewer:验收必须证明 role=reviewer,不得把职责同步丢失降级成的 viewer 判通过。select 还须 data-can-assign=false 且 disabled;canAssignLead=true 一律拒绝。
严重度
high
权限矩阵已打开,真实只读检查未跑到就被假阳性打断。
关联整改
- Remediation: ../remediation/2026-09-13-document-revision-duty-cell-assertion.md
- Short-term: ../ops/short-term/2026-09-13-document-revision-duty-cell-assertion.md
- 分支:
fix/document-revision-duty-cell-assertion
证据
- 失败证据(只读):
.doc/test-reports/assets/2026-09-13-document-revision-runtime-ui/schema30-ui13a-duty-cell-assertion-failure/
开放问题
- 本轮不重跑真实 UI-13a;不得标 E2E 通过或任务
done - 独立审查:不得用
reviewer|viewer宽判;evaluateReviewerDuty只接受精确 reviewer