Record real Playwright ledgers, mark 20 audits and 9 remediations done, and leave management-implementation-plan as plan-only.
2.5 KiB
2.5 KiB
title, status, created, updated
| title | status | created | updated |
|---|---|---|---|
| 受控文档打开前必须先切工作流分类 | done | 2026-09-13 | 2026-09-22 |
受控文档打开前必须先切工作流分类
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 与 测试报告。
背景
链到 ../audit/2026-09-13-document-revision-workflow-category-navigation.md。
只改验收导航契约,不改产品运行时,不用 API/内存状态绕过 UI。
目标
- 打开受控工作流文档前,必须通过真实页面控件切到
data-category=workflow(「流程受控」) - 再按精确
data-doc-id(或既有 taskKey / label)选择 - 从「我的私密」等任意当前分类可恢复
- 目标不在正确分类菜单中 → fail-closed
分波次计划
| 波次 | 内容 | 验收 |
|---|---|---|
| Wave 0 | 抽取导航谓词;三个 opener 先 selectDeliverableCategory |
private→workflow→exact;缺失 fail-closed;npm test + build |
| Wave 1 | 占槽后重跑真实 UI-13a(本轮不做) | 权限断言前能打开 intake |
设计
requiredCategoryForDocOpen:doc_proj*/ label / taskKey →workflow;doc-free-*→private(UI-16 仍走页面私密分类)。planExactDocOpen:始终先ensure_category;仅当当前分类已是目标分类时才在可见菜单里select_exact;否则不得因私密菜单缺doc_proj*立即失败。- 三个
openWorkflowDoc*都先点doc-category-trigger+data-category=...,再打开文档菜单。禁止page.evaluate/ 路由 mock / 直调setActiveCategory。
验收标准
- private 菜单看不到
doc_proj*时先切 workflow,不立刻 FAIL - workflow 菜单有精确 id 则 select
- 正确分类下目标缺失 fail-closed
- 真实 UI-13a(本轮不做)
相关链接
- Audit / Short-term:同 slug
2026-09-13-document-revision-workflow-category-navigation - 证据(只读):
.doc/test-reports/assets/2026-09-13-document-revision-runtime-ui/schema30-ui13a-category-navigation-failure/