fix(v2): 浏览器端到端验证——修掉模块页在浏览器里渲染不出内容的缺陷
首次用真实 Chrome 打开 /trajectory-center(新增可选脚本 scripts/browser-e2e.cjs),
暴露 5 个源码守卫与生产构建都看不出的缺陷,全部修复:
1. 三个模块页读 `list.items`,而 /projects 返回的是 {projects, identity}——
项目列表恒为空,prescreen-workbench / experience-center / trajectory-center
整页渲染不出任何面板,只显示"当前身份没有可访问的项目"这种看着正常的空态。
(第二/三批引入)改为 list.projects。
2. TrajectoryPanel 没被传 identity,canRecord 恒假 → 会议结果录入表单永不出现。
3. ImprovementPanel 草稿下拉以组件 id 作 key/value,同一组件多版本草稿时撞 React key,
且选不准要发布哪一版;改以 `组件id@版本` 为键值。
4. JSX 文本里的 `**强调**` 会原样显示星号(JSX 不渲染 Markdown),共 9 处;
改为 <b>(字符串上下文处直接去掉标记)。
5. 深色导航模块名被 flex 压缩折行("AI 预审"断成两行);
加 flex:0 0 auto + white-space:nowrap。
另修一个既有测试脆弱点:test_trajectory.py 的更正用例断言"哪条排前面",
两条记录同刻度时排序翻转,曾让 verify.py 偶发失败;改为断言"两条都在、更正指向旧记录"。
回归防线:第 5 项补进 test_module_shell_ui.cjs 源码断言;
test_ui_readability.cjs 的导航字号断言改为不把 min-height 钉在规则首位。
验证:scripts/verify.py 14/14 PASS(backend-unit 572 项),
证据 test-evidence/20261001-030127-ff59d7e/;scripts/browser-e2e.cjs 19/19 PASS
(截图在 test-evidence/e2e-batch4/)。该 E2E 脚本刻意不接入 verify.py。
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -112,9 +112,14 @@ docs/project-process/README.md、XINGBANG-ADAPTATION.md,执行 git status --sh
|
||||
- 完成范围:**纠偏第四批「接通评审反馈与改进发布」**——会议结果从页面录入并与材料版本对照;
|
||||
改进候选接上**真实知识发布入口**,发布后新运行用新版本、旧运行仍可回放。
|
||||
界面并入「轨迹复盘」模块(`/trajectory-center`),**不新增第四个导航入口**。
|
||||
本轮另**首次做了真实浏览器端到端验证**(新增可选脚本 `scripts/browser-e2e.cjs`),
|
||||
并因此发现并修掉 5 个源码守卫与生产构建都看不出的缺陷——其中一个是**三个模块页
|
||||
在浏览器里根本渲染不出面板**(`/projects` 读错字段),见 17「浏览器验证发现的问题」。
|
||||
`scripts/verify.py` **14 项检查**全通过(新增 `improvement-panel-ui` 源码守卫)。
|
||||
- 验证入口:`cd F:/mini-OpenClaw-v2 && backend/venv/Scripts/python.exe scripts/verify.py`;
|
||||
本轮证据:`test-evidence/20261001-013517-3e15bda/`(14/14 PASS)。
|
||||
本轮证据:`test-evidence/20261001-030127-ff59d7e/`(14/14 PASS,backend-unit 572 项)。
|
||||
浏览器验证证据:`node scripts/browser-e2e.cjs` → `test-evidence/e2e-batch4/`(19/19 PASS + 截图)。
|
||||
**该脚本刻意不接入 verify.py**(verify 不应依赖浏览器),需手动跑。
|
||||
- 测试规模:全量 **572 项** unittest 无回归(新增 `test_improvement_release.py` 4 项 +
|
||||
`test_improvements.py` 1 项)。
|
||||
- 卡片验收对照(详见 [17 四批交付记录](17-batch-delivery-records.md) 第四批):
|
||||
@@ -131,11 +136,20 @@ docs/project-process/README.md、XINGBANG-ADAPTATION.md,执行 git status --sh
|
||||
需端点后按 17 的操作步骤补一次真实调用;在此之前不得宣称"真实提炼已跑通"。
|
||||
- **F18** 例外边界未进入可求值条件语言;**F19** 卡片适用条件不参与运行内逐项判定。
|
||||
(同第二批,本批未动。)
|
||||
- **F11** 界面仍未经浏览器验证:`/experience-center`、`/prescreen-workbench`、
|
||||
`/trajectory-center`(本批新增的会议结果录入与改进面板也在内)都只有
|
||||
"源码守卫 + 生产构建 + 代码走查"三层证据(本机无 playwright/puppeteer/chromium)。
|
||||
本批另加了**真实服务器接口冒烟**(走界面同一串 HTTP 请求),但它同样不是浏览器点击。
|
||||
深色底对比度已改为守卫内按 WCAG 实算(最低 8.37:1),配色达标 ≠ 实机版面已验收。
|
||||
- **F11 部分关闭**:`/trajectory-center`(含本批的会议结果录入与改进面板)已在**真实 Chrome**
|
||||
里端到端走过并通过(`scripts/browser-e2e.cjs`,19/19,有截图)。**仍开放的部分**:
|
||||
① `/experience-center`、`/prescreen-workbench` 只验到"能渲染",交互没有逐项点过;
|
||||
② 该脚本不在 `verify.py` 里,需手动跑(本机 Chrome + 一次性 `--no-save puppeteer-core`);
|
||||
③ 无视觉基线比对、无多分辨率、无键盘/读屏检查。
|
||||
深色底对比度仍是守卫内按 WCAG 实算,不是实测。
|
||||
- **F27(新)浏览器验证暴露的缺陷已修但防线不全**:本批靠浏览器发现并修了 5 个缺陷
|
||||
(见 17「浏览器验证发现的问题」)。其中只有"导航名折行"补进了源码守卫;
|
||||
其余 4 个(读错 `/projects` 字段、漏传 `identity`、重复 React key、JSX 里的字面量 `**`)
|
||||
目前只有 `browser-e2e.cjs` 覆盖,而它不在强制门禁里——**这类回归没有自动防线**。
|
||||
是否把浏览器 E2E 接进 `verify.py`、是否把 `puppeteer-core` 写进 `package.json`,需人决策。
|
||||
- **F28(新)模拟/演示数据随验证累积**:`scripts/xingbang_batch4_smoke.py` 与
|
||||
`scripts/browser-e2e.cjs` 都**真的写演示库**(新建卡片、会议结果),重复运行会累积脏数据。
|
||||
两者都在脚本头注明了这一点。
|
||||
- **F20** 新旧经验入口并存(工作台旧「评审经验」页签);**F21** 首页默认路由已变更
|
||||
`/` → `/assistant`。两者都需确认后处理。
|
||||
- **F23(新)改进端点仍无角色门禁**:既有候选/方案端点对评测与发布有 `role()` 门禁,
|
||||
@@ -153,11 +167,13 @@ docs/project-process/README.md、XINGBANG-ADAPTATION.md,执行 git status --sh
|
||||
- **F8** Docker 运行时冒烟未实测(本机 Docker Desktop 守护进程不可达)。
|
||||
- **F6** OQ-06 Q3–Q5:端口冲突核验、运行资源、Gitea CI 是否启用仍 open。
|
||||
- **F12/F14/F16** 仍有效;**F13** 已由第一批关闭。
|
||||
- 下一任务:四批纠偏已全部有交付(均记**部分完成**)。继续推进前先定:
|
||||
补 **F17**(需要你提供模型端点与调用时机)或处理 **F11**(需要可用的浏览器自动化环境);
|
||||
两者都需要你提供的输入,不要为了推进而把演示当验收。
|
||||
- 待输入:模型端点与调用时机(F17);浏览器自动化环境(F11);真实数据/制度/会议标签映射与
|
||||
客户身份权限(M5/M6);Laya 硬件与中文效果需实机探测;Jev 端点与凭据。
|
||||
- 下一任务:四批纠偏已全部有交付(均记**部分完成**)。**F11 已可自行推进**
|
||||
(本机有 Chrome,脚本已入库,无需外部环境);继续推进前需你定的两件事:
|
||||
① 是否把浏览器 E2E 接进 `verify.py` / 写进 `package.json`(F27);
|
||||
② 是否继续用真实浏览器把 `/experience-center`、`/prescreen-workbench` 也逐项点完(F11 剩余部分)。
|
||||
补 **F17** 仍需要你提供模型端点与调用时机。不要为了推进而把演示当验收。
|
||||
- 待输入:模型端点与调用时机(F17);真实数据/制度/会议标签映射与客户身份权限(M5/M6);
|
||||
Laya 硬件与中文效果需实机探测;Jev 端点与凭据。
|
||||
- Git:本轮提交 `f775c6c`(`feat(v2): 纠偏第四批——会议结果录入与改进发布接真实知识发布入口`)
|
||||
在 `codex/xingbang-v2-model-field-fix` 分支,**尚未推送**;
|
||||
核对命令 `git log --oneline -3`。
|
||||
|
||||
Reference in New Issue
Block a user