docs(test-report): align UI acceptance report and checklists with exact results SSOT

This commit is contained in:
weichen
2026-09-14 04:00:36 +00:00
parent fbd8fe469f
commit 43460ae9ed
4 changed files with 18 additions and 19 deletions
+3 -3
View File
@@ -5,7 +5,7 @@
## 焦点
1. **DOC-CONTENT**: [受控正文 canonical hash 漂移](../audit/2026-09-14-project143-controlled-content-404.md)(已合 dev、schema 32、项目 143 已定向修复;Antigravity 正在真实 UI 验收)
1. **DOC-CONTENT**: [受控正文 canonical hash 漂移](../audit/2026-09-14-project143-controlled-content-404.md)(真实 UI 验收已 PASS:项目 143 clean-run3 + 新项目 full-chain-final 主链及 restart 均全部通过)
2. **CHAT-INTENT**: [对话意图运行时状态](../audit/2026-09-13-conversation-intent-runtime-state.md)(`fix/conversation-intent-state`;与文档账本运行时无关)
3. **CHAT**: [对话历史刷新](../audit/2026-09-13-chat-history-refresh-disappears.md)(认领仍 `in_progress`;gap 行已 PASS,以代码/handoff 为准收敛)
@@ -53,7 +53,7 @@
| holder | phase | since | scope | queue |
|--------|-------|-------|-------|-------|
| orchestrator_codex | e2e | 2026-09-14 | schema 32、隔离 PG、项目 143 定向修复均 PASS;Antigravity 真实 UI 实战验收中 | — |
| idle | idle | - | - | - |
**phase**: `idle` | `merging` | `smoke` | `e2e`
@@ -63,7 +63,7 @@
| 环境 | 端口 | schema | 状态 |
|------|------|--------|------|
| dev | 8080 | **32** | healthy(`84fdd7d` rebuild;项目 143 migration_repair head 279;等待真实 UI 验收) |
| dev | 8080 | **32** | healthy(产品代码部署为 `36e4bc3`;真实 UI 主链+restart PASS) |
| test | 8081 | 25→27* | healthy |
| main | 8000 | 25→27* | healthy(app + runner + DB) |
@@ -34,7 +34,7 @@
- [x] 页面显示文档正文、版本账本、人工编辑、三模式(UI-06 刷新后通过,UI-07/08/09 三模式计算样式互斥通过)。
- [x] 页面打开真实 change report,并显示项目影响、文档影响、风险、开放问题。
- [x] 并发编辑、审核人、无关用户权限边界有 UI 证据(UI-12/13a/13b 均通过)。
- [x] 产生本轮非敏感 phase state、截图、trace、video、results;本地 secrets 继续 ignored。
- [x] 产生本轮非敏感 phase state、截图、results 并提交 Git;本地运行产生的 trace/video/HTML 报告未提交仓库;本地 secrets 继续 ignored 且绝不披露。
- [x] 主阶段写报告草稿并输出 `NEEDS_HOST_RESTART`,等待 orchestrator 重启。
## C. 重启后(由 orchestrator 重启并执行 post-restart 全部 PASS)
@@ -30,7 +30,7 @@ updated: 2026-09-14
- [x] 项目 143 页面正文可见且无 content/revision 404(UI-143-01..06 全 PASS,产物在 `clean-run3/`)。
- [x] 人工编辑、视图切换、刷新/重登持久化通过(项目 143 回归)。
- [x] 新项目真实 PI/小队链路及文档影响风险报告页面可见(UI-00..05b 通过,V1->V2 晋升,V2 拒绝保持)。
- [x] 新项目真实 PI/小队链路及文档影响风险报告页面可见(UI-00..05b 通过,首轮 toolbar V2/r0,UI-05 pending 保持 V2,UI-05a 确认后晋升 V3,UI-05b 拒绝后保持 V3)。
- [x] UI-06 硬刷新正文保留通过(合入 08bf615 修复后 1.1 秒内秒级通过)。
- [x] 并发、权限、重启前凭据生成有真实 UI 判定(UI-12/13a/13b/15/16 全 PASS)。
- [x] 容器重启后恢复核验通过(UI-15 post-restart 2.8 秒秒级通过,V3/r2 与标记完好呈现,目标 404=0)。
@@ -124,15 +124,15 @@ docker run --rm --network host --ipc host \
| **UI-00** | 管理员页面创建 A/B/C 并初始化密码 | 8.7s | **PASS** | 经管理界面创建三账号,分别重置首登凭据 |
| **UI-01** | 用户 A 登录并新建项目,验证模板提示隔离 | 1.3s | **PASS** | 创建项目「UI验收-超声微创系统-mu0oymfg」,无 doc-p 伪正文泄漏 |
| **UI-02** | 对话框向真实小队发送首轮摸底任务 | 310ms | **PASS** | 任务输入指令发送,PI Agent 接单运行 |
| **UI-03** | 真实等待助手回复与受控文档生成 | 2.7m | **PASS** | 助手回复完成,首份受控文档 `doc_proj6173_intake` 生成,账本显示 `V1` / `r0` |
| **UI-03** | 真实等待助手回复与受控文档生成 | 2.7m | **PASS** | 助手回复完成,首份受控文档 `doc_proj6173_intake` 生成,toolbar `V2/r0`,标题为「用户初始需求收集表」 |
| **UI-04** | 打开变更报告并核验完整字段 | 246ms | **PASS** | 页面展开「变更报告」,风险评级、项目影响、文档影响、开放问题均完整可见 |
| **UI-05** | 高风险候选 #1 挂起(待确认状态) | 2.6m | **PASS** | 二轮高风险任务触发,受控正文冻结在 head,版本不提前晋升 |
| **UI-05a**| 页面点击「确认提交」高风险候选 | 322ms | **PASS** | POST `/decision`(`commit`, `confirmed: true`),版本由 `V1` 成功晋升至 `V2` |
| **UI-05b**| 二轮高风险候选 #2 页面点击「拒绝」 | 2.7m | **PASS** | POST `/decision`(`reject`),版本保持 `V2`(当前显示 `V3`),未被非法合入 |
| **UI-05** | 高风险候选 #1 挂起(待确认状态) | 2.6m | **PASS** | 二轮高风险任务触发,受控正文冻结在 head,pending 时保持 `V2`,版本不提前晋升 |
| **UI-05a**| 页面点击「确认提交」高风险候选 | 322ms | **PASS** | POST `/decision`(`commit`, `confirmed: true`),确认后版本晋升至 `V3` |
| **UI-05b**| 二轮高风险候选 #2 页面点击「拒绝」 | 2.7m | **PASS** | POST `/decision`(`reject`),二轮拒绝后版本保持 `V3`,未被非法合入 |
| **UI-06** | 双击块编辑保存后,硬刷新验证标记与修订持久化 | 1.1s | **PASS** | **在合入 08bf615 修复后 1.1 秒内秒级通过!** 刷新后正文立即渲染,标记与 `r1` 完整可见 |
| **UI-07..09** | 纯净阅读 / 人工修改 / 全部变更三模式对比 | 2.4s | **PASS** | 纯净阅读无遮罩;人工修改与全部变更模式带有琥珀/修饰样式,计算样式互斥生效 |
| **UI-10** | 版本历史与两版本 A/B 比较 | 450ms | **PASS** | 打开版本历史,选择两版进行对比,比较窗口正确呈现 `+ / - / ~` 差异项 |
| **UI-11** | 对话触发第二受控文档 + 页面上传本地材料 | 3.1m | **PASS** | 生成第二受控文档 `doc_proj6173_prelim_design`;经 UI 上传材料并在项目共享库可见 |
| **UI-11** | 对话触发第二受控文档 + 页面上传本地材料 | 3.1m | **PASS** | 第二文档状态为 intake(用户初始需求收集表)`V3/r1`、prelim_design(系统初步设计方案)`V2/r0`;页面上传归档为“私密参考文档”,POST 201,激活 `doc-free-*`(`doc-free-1789357696535085171-198`)面板 |
| **UI-12** | 越权隔离验证:非项目成员 C 无法看到项目 | 2.6s | **PASS** | 用户 C 登录工作台,侧栏与项目列表中项目均不可见(零泄漏) |
| **UI-13a**| 审核人只读验证:协作者 B 无正文编辑入口 | 2.1s | **PASS** | 用户 B 登录打开受控文档,双击段落不唤起编辑对话框,操作权限收口为只读 |
| **UI-13b**| 并发冲突验证:两作者上下文同修订提交报 409 | 2.7s | **PASS** | 上下文 A2 提交落后 revision 时页面报 409 冲突,保留冲突稿,A1 赢家正文持久生效 |
@@ -165,19 +165,18 @@ docker run --rm --network host --ipc host \
## 六、 产物与证据归档清单
本轮所有证据保存在 `.doc/test-reports/assets/2026-09-14-controlled-content-ui-acceptance/`:
本轮提交至仓库的证据与 `git ls-files` 严格一致(保存在 `.doc/test-reports/assets/2026-09-14-controlled-content-ui-acceptance/`):
1. **项目 143 独立回归 (`clean-run3/`)**:
- 结果文件: `clean-run3/proj143-ui-acceptance-results.json`
- 全套截图: 13 张(`UI-143-01` 至 `UI-143-08d`)
- 视频录像: `clean-run3/videos/page@eedfc29121e052e4ca3355f0542261dd.webm`
- 结构化结果: `clean-run3/proj143-ui-acceptance-results.json`
- 全套页面截图: 13 张(`UI-143-01` 至 `UI-143-08d`)
- 会话视频: `clean-run3/videos/page@eedfc29121e052e4ca3355f0542261dd.webm`
2. **新项目全链路最终产物 (`full-chain-final/`)**:
- 主阶段结果: `full-chain-final/ui-acceptance-results.json`(18 passed)
- 重启后结果: `full-chain-final/ui-acceptance-results-post-restart.json`(UI-15 post-restart passed)
- 结构化结果: `full-chain-final/ui-acceptance-results.json`(主阶段 18 passed)与 `full-chain-final/ui-acceptance-results-post-restart.json`(重启后 UI-15 passed)
- 重启状态凭据: `full-chain-final/phase-state.json`
- 全套截图: 21 张(含主阶段 20 张截图 + `UI-15-post-restart.png`)
- 视频与 Trace: 完整保留在 `full-chain-final/videos/` 与 `traces/`
- 独立报告目录: `playwright-report-main/` 与 `playwright-report-post-restart/` 两者互不覆盖
- 页面截图证据: 21 张(含主阶段 20 张截图 + `UI-15-post-restart.png`)
- 上传测试载荷: `full-chain-final/upload-mu0oymfg.txt`
- *未提交产物与凭证说明*: Playwright Trace、录屏视频与 HTML 测试报告(`playwright-report-main/`, `playwright-report-post-restart/`)仅为本地测试运行产物且未提交 Git,不得声称仓库完整保留;`phase-secrets.local.json` 保持被 `.gitignore` 忽略,未提交且不得披露。
---