6.4 KiB
B01 验收 02:F01 与模式、确认弹窗
日期:2026-10-21(Asia/Shanghai)。对应 交付 02,固定受测代码 1ed71b63b5af9a98b942ff47c66df5799d4d2c8a。
结论:F01 原始反例已通过,A05/A06 本次交付的功能与已确认样式修复通过独立 Windows 检查;原生模式测试入口仍需修复。B01 不全量关闭。
本记录补齐前轮已执行但未正式回传的结果。没有使用后来 B02 或测试清理提交替代受测代码。新建本轮专用文档检出,避免复用出现并发推进的旧文档检出;未修改产品、正式测试、依赖或构建配置。
1. 环境与数据
Windows 11 IoT 企业版 LTSC 64 位,10.0.26100;Node 24.21.0、npm 11.19.0、Electron 37.10.3。固定 SHA 的独立检出执行 npm ci --legacy-peer-deps --no-audit --no-fund,显式补执行 Electron 安装脚本后构建;没有复用开发机依赖。jsdom 30.1.3 安装于 .tmp/b01-dom。
所有应用/组件窗口均使用测试 userData、home、workspace。仅使用本地持久化消息或受控回调,不请求模型、SDK query/CLI,不操作用户实际会话,不访问 WorkBuddy 原版。已有真实用户 dev 未被这些测试结束或替换。
2. 分项结果
| 项目 | 独立结果 | 范围 |
|---|---|---|
| F01/AC1.3 原生计划、任务状态 | 通过,关闭本次具体失败 | 原验收 reducer→MessageBubble 反例现在 retainsUserChoices=true,两卡均保持 false;新增原生身份回归覆盖插入、重排、外层切换、消息隔离和无 ID 同位置 fallback |
| A05/AC3.1 模式标签 | 本次功能与样式修复通过 | 同一组件真实 Chromium 的透明背景、pill、32px/13px/500/20px、16px 原位槽、hover/focus 替换、禁用与窄窗;95 项通过 |
| A05 宿主草稿/权限 | 通过 | 实际 main/preload/renderer 中,两模式均以原生键盘退出,草稿原样保留,full-access 保存值保持,返回 craft 后权限控件恢复可用 |
| A06/AC3.2~3.3 确认浮层 | 本次已确认参数与行为通过 | 原生应用 71 项菜单/IPC/落库检查;浅深主题主/次/危险按钮、240px 壳、16px 圆角、600 标题、66px 最小宽、19px inset |
| A06 busy/失败/重试 | 通过,组件层 | 同一 TaskPopconfirm 的真实 Chromium 夹具 78 项:运行中“停止并删除”、重复点击锁、busy 不能退出、错误保留及重试。受控回调,不证明真实运行任务终止链路 |
| A01/A04 回归 | 通过指定回归 | alignment、问答真实窗口及浅深/窄窗/长内容壳检查通过 |
按钮本轮实际几何为高 28px、圆角 6px、字体 12px,按交付的 small Button 规格验证;并未由此认定原版所有按钮几何或整页像素完成 1:1。ModeChip 的原版 SVG 仍未替换;没有同版本、同状态原版运行对照,原版完整视觉结论继续未验证。
F01 原始结果:JSON、反例源码。在固定受测检出中,将脚本复制到 .tmp/b01-readonly-review/ 后执行 node .tmp/b01-readonly-review/typed-part-repro.mjs --assert,本轮退出 0。本文仅引用当前产品模式的执行结果,不将脚本的其他分支视为本轮已运行。
3. T01:原生模式测试入口在 Windows 超时
node scripts/test-mode-chip-native.mjs 本轮运行 60 秒后被其超时定时器结束,父进程记录 exitCode:null。仅生成 fixture,没有 report 或 failure;因此该命令没有通过。原始结果。
验收端另用 .tmp 下 CJS 异步测试入口加载同一份已生成 fixture,保留原尺寸、主题、布局、禁用与原生输入检查,并补齐原生键盘字符事件;95 项通过。入口、报告、运行结果。
开发端需修正式测试入口的 Windows 可运行性、事件序列及超时诊断。静态线索是原 ESM 入口在顶层等待 fixture 构建与 app.whenReady();这不是本轮已经证明的唯一根因,不能只改扩长 timeout 就宣布修复。CJS 对照说明组件在同一环境可运行,不把入口超时等同于产品模式功能失败。
4. 其他命令与既有失败
- 独立
npm run build、带 DOM 环境的test:alignment、test:conversation、test:workbuddy-import、test:artifacts均退出 0。 check:tokens仍退出 1,为既有六项;test:fold-summary仍退出 1,为既存 Windows CRLF 摘要问题。没有刷新 baseline、修改生成物/manifest,不能将这些命令写成通过。- 原生菜单 71 项、CJS 模式 95 项、弹窗 Chromium 78 项均为实际执行,不是
--build-only。 - 只有显示并允许 compositor 推进后,才采纳弹窗 busy 动画颜色结果;初次隐藏窗口的未稳定颜色没有列为产品缺陷。
证据:构建、alignment、其他命令、原生菜单、弹窗、模式宿主、问答。
截图:归档浅色、删除深色、计划聚焦、仅问答深色聚焦。已人工查看。
复跑模式与弹窗的验收入口时,先在指定 SHA 构建,使用交付脚本的 --build-only 生成 fixture,再把对应 CJS 验收入口复制到该检出的 .tmp/,传入生成目录;不要提交或复制生成 JS/依赖作为源码交付。宿主探针同样只放 .tmp/,自行建立隔离数据。
5. 后续
F01 不再要求重复修复,A05/A06 本次已测行为不推倒重做。后续补 T01 自动化入口、原版 SVG/同状态完整视觉、真实运行中停止链路等未验证边界。YC-002、YC-004、A07/A08没有在本轮交付,不因本记录关闭;保留用户撤回骨架补丁的决定。
本记录是验收文档交接,不是产品修复。最终批次状态仍以逐项 AC 为准。