Record real Playwright ledgers, mark 20 audits and 9 remediations done, and leave management-implementation-plan as plan-only.
52 lines
2.7 KiB
Markdown
52 lines
2.7 KiB
Markdown
---
|
||
title: "UI-13a 用整行 option 文案误判编制负责人"
|
||
status: done
|
||
created: 2026-09-13
|
||
updated: 2026-09-22
|
||
severity: high
|
||
---
|
||
|
||
# UI-13a 用整行 option 文案误判编制负责人
|
||
|
||
> **W3 UI-rerun 关闭(2026-09-22)**:`status=done`。真实 Playwright 账本 PASS:[`ui-acceptance-results.json`](../test-reports/assets/2026-09-22-docrev-ui-rerun/ui-acceptance-results.json)(main UI-00..16)+ [`ui-acceptance-results-post-restart.json`](../test-reports/assets/2026-09-22-docrev-ui-rerun/ui-acceptance-results-post-restart.json)(UI-15)。任务 tip 已合入本地 `dev`;详见 [short-term](../ops/short-term/2026-09-22-docrev-ui-rerun.md) 与 [测试报告](../test-reports/2026-09-22-docrev-ui-rerun-test-report.md)。
|
||
|
||
|
||
## 现象
|
||
|
||
第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](../remediation/2026-09-13-document-revision-duty-cell-assertion.md)
|
||
- Short-term: [../ops/short-term/2026-09-13-document-revision-duty-cell-assertion.md](../archive/ops/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
|