6.2 KiB
6.2 KiB
04.runtime_workspace 验收复核(第 08 轮)
评审轮次: 08
日期: 2026-08-06
主定义: 04.runtime_workspace.md
实施规范: 05.technical_implementation_spec.md
评审方式: 当前工作树实现核对 + 全量 gate + 新鲜浏览器验收 + 独立只读复核
独立复核: Rawls(fresh read-only acceptance audit)
总体结论: 当前实现与自动化回归已覆盖主实现路径,RW-A10 已关闭;仍有 1 个未关闭 P2,本轮不能宣布最终验收通过。
问题清单(Outline)
状态图例:🔴 未解决|🟡 进行中 / 证据不足|✅ 已关闭|⚪ 延续观察
| 状态 | 优先级 | ID | 问题 | 当前结论 / 下一步 |
|---|---|---|---|---|
| ✅ | P2 | RW-A10 | “未到点重启恢复”缺少直接、场景级自动化证明。 | 已关闭。runtime-workspace-host 恢复顺序测试、Pomodoro remount 倒计时测试、Runtime overdue restart 测试和组合恢复测试已共同覆盖“未到点 / 已到点”恢复矩阵。 |
| 🔴 | P2 | RW-A11 | Tauri Desktop Host 尚缺一条可审计的代表性业务流验收证据。 | 仍未关闭。当前只有 fresh browser 代表路径证据,以及 prior-round / exploratory desktop window visible evidence;还缺少 Tauri Host 上 start → interrupt 或 start → deadline 的业务闭环证据。 |
Gate 结果
npm test -- --run:通过,35个文件 /195个测试全部通过。npm run build:通过。git diff --check:通过。- 独立复核聚焦套件:
pomodoro-miniapp.test.ts、runtime-workspace-host.test.ts、lineup-runtime.test.ts通过;独立 reviewer 报告其本轮复核为3个文件 /56个测试通过。
本轮确认
RW-A10 已关闭
本轮重新核对后,RW-A10 不再成立。当前代码和测试已直接覆盖规范要求的“刷新或重启,未到点 / 已到点”恢复矩阵:
- 恢复装配顺序已抽到 tauri/src/runtime/coordination/runtime-workspace-host.ts,先
applySnapshot,再挂载已恢复 surface,再reconcileBundledMiniApps,最后恢复执行摘要。 - tauri/src/runtime/coordination/runtime-workspace-host.test.ts 固定恢复顺序。
- tauri/src/runtime/coordination/runtime-workspace-host.test.ts 直接覆盖“登录恢复路径 -> Pomodoro remount -> 按持久化
ends_at继续倒计时”。 - tauri/src/core-apps/pomodoro/pomodoro-miniapp.test.ts 固定 MiniApp remount 后继续按原
ends_at派生剩余时间。 - tauri/src/runtime/coordination/lineup-runtime.test.ts 固定“已到点后重启只结算一次 completed,不重复追加 outbox”。
独立 reviewer Rawls 的本轮结论也明确将 RW-A10 关闭。
RW-A11 仍未关闭
规范的验收矩阵仍要求:
- 05.technical_implementation_spec.md 的 Host 验收项:
Web 完整 IM 流程;Tauri 至少跑 start → interrupt 或 start → deadline 的代表路径。 - 04.runtime_workspace.md 将 Web Reference Host 与 Tauri Desktop Host 都写入本轮验收边界。
当前证据状态:
- Web 代表路径:
有 fresh evidence。 - Tauri Desktop Host:
只有窗口可见 / 进程存活类证据,不足以证明业务代表路径。
因此 RW-A11 不是实现缺陷,而是当前仍未满足文档要求的验收证据缺口。
新鲜浏览器验收证据
本轮重新获取了 fresh browser evidence:
/snap/bin/chromium --headless=new --disable-gpu --virtual-time-budget=7000 \
--dump-dom 'http://127.0.0.1:1421/?runtime-workspace-e2e=1&runtime-workspace-sequence=start-interrupt'
结果要点:
body[data-runtime-workspace-e2e="sequence_interrupted"]- 页面消息区出现:
正在打开 Pomodoro正在停止 Pomodoro
#runtime-workspace-e2e-report中的surface_trace为:miniapp.startsurface-request opensurface-open-result acceptedsurface-request patchsurface-patch-result acceptedsurface-request closesurface-close-result accepted
app_sessions中:chat为foregroundpomodoro为stopped
这条证据证明当前 Web Host 的 start → interrupt → close 代表路径仍可复现,且 Runtime、Host 和本地 Pomodoro Surface 的受控对账链条是闭合的。
桌面证据现状
本轮未取得满足规范的 fresh Tauri 业务流证据。
已有可保留的辅助事实:
- prior round 的真实桌面启动中,用户明确确认“看到了”窗口;
- 本轮探索中,Tauri Host 也能在 Xvfb 上渲染出
LineUp窗口。
但这些都只能证明“桌面窗口出现”,不能替代规范要求的:
Tauri Desktop Host 至少一条 start → interrupt 或 start → deadline 代表路径验收
因此本轮不能把 RW-A11 关闭。
本轮结论
Round: 08
Primary definition: 迭代/04.runtime_workspace/04.runtime_workspace.md
Independent reviewer: Rawls
P0: 0 P1: 0 P2: 1 P3: 0
Resolved this round: RW-A10
Carryover: RW-A11(Tauri Desktop Host 代表路径证据不足)
Gates: npm test -- --run ✅ | npm run build ✅ | git diff --check ✅ | browser host evidence ✅ | desktop representative flow ❌
Current conclusion: continue loop
下一步只剩两种合规收口方式:
- 在不改验收口径的前提下,补一条 Tauri Desktop Host 的代表性业务流证据并关闭
RW-A11。 - 若产品 / 评审决定本轮只以 Web Host 作为最终验收口径,则必须先更新主定义与评审基线,再重新做独立复核。