5.2 KiB
5.2 KiB
4-47 [process] Batch A3 Local Folder Trash Final Smoke Checklist v1
创建时间:2026-05-21
上位入口:
design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md阶段:Batch A / P0 剩余 local folder trash smoke 收口
当前状态:
DONE
1. 目标
关闭 4-34 和 4-46 中 Batch A 剩余的 local folder 垃圾箱验证缺口:
- local folder empty-trash UI smoke。
- local folder Markdown 页面自身的 archive / restore / purge smoke。
- 根据真实 smoke 结果判断
4-34/4-46是否可归档到done/。
本阶段不改 delete 默认进入垃圾箱的语义,不把 reload 型刷新伪装成 no-refresh,不扩新产品面。
2. 当前剩余缺口
4-34中 local folder 非 md 资源 empty-trash 已由task474覆盖。4-34中 local folder Markdown 自身 trash lifecycle 已由task475覆盖。4-46Batch A 执行总 checklist 已满足归档条件。
3. Reasonix Worker 拆分
Worker A:local folder empty-trash UI smoke
Owner:
- 可新增
scripts/task474-local-folder-empty-trash-ui-smoke.js design/04-tree-domain/process/4-34-filetree-trash-dual-browser-no-refresh-v1.md.codex/reasonix-tasks/results/batch-a3-worker-a-empty-trash.md
目标:
- 构造 local folder 临时 root,同时放入 markdown 页面和非 md 资源。
- 通过 tree command 或 UI 将它们移动到
.mnote/trash。 - 打开
/trash?sourceKind=local_folder&rootUri=...,分别点击“清空页面垃圾箱”和“清空资源垃圾箱”。 - 断言对应行消失、文件系统 trash 文件消失、
trash-index.json对应 entry 清理。 - 记录点击清空期间无非预期 browser navigation。
验收:
node --check scripts/task474-local-folder-empty-trash-ui-smoke.js
MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:<port> PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/google-chrome-stable node scripts/task474-local-folder-empty-trash-ui-smoke.js
Worker B:local folder Markdown trash lifecycle smoke
Owner:
- 可新增
scripts/task475-local-folder-markdown-trash-lifecycle-smoke.js design/04-tree-domain/process/4-34-filetree-trash-dual-browser-no-refresh-v1.md.codex/reasonix-tasks/results/batch-a3-worker-b-markdown-lifecycle.md
目标:
- 构造 loose Markdown 和/或 bundled Markdown 页面。
- 通过
/api/tree/commands验证 Markdown 页面的delete/restore/purge。 - 断言 canonical command、源路径、trash 路径、
trash-index.json和恢复后的 documentId 与文件系统一致。 - 这是生命周期 smoke,不要求 UI 截图;浏览器可见性由 Worker A 和后续 Browser Worker 覆盖。
验收:
node --check scripts/task475-local-folder-markdown-trash-lifecycle-smoke.js
MNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:<port> node scripts/task475-local-folder-markdown-trash-lifecycle-smoke.js
Worker C:文档归档审查
Owner:
design/04-tree-domain/process/4-34-filetree-trash-dual-browser-no-refresh-v1.mddesign/04-tree-domain/process/4-46-batch-a-filetree-action-trash-smoke-execution-checklist-v1.md- 如条件满足,可移动到
design/04-tree-domain/done/ .codex/reasonix-tasks/results/batch-a3-worker-c-doc-archive.md
目标:
- 在 Worker A/B smoke 结果可复核后,判断
4-34是否满足归档条件。 - 判断
4-46是否已经完成 Batch A P0,是否可以归档。 - 若仍有缺口,必须写明 blocker 与下一步,不得强行移动。
验收:
git diff --name-status
4. Codex 复核项
- 读取 Worker A/B 输出;Worker C 由 Codex 本地完成归档审查。
- 独立审查 diff,确认无越权修改。
- 运行新增脚本
node --check。 - 在最新 mnote-web 临时端口
3014上实跑新增 smoke。 - 完成后拆 Browser Worker 复测关键 UI smoke 并核验截图。
git diff --check、codegraph sync .后提交。
5. 完成条件
task474或等价 smoke 覆盖 local folder empty-trash UI。task475或等价 smoke 覆盖 local folder Markdown archive / restore / purge。4-34/4-46状态与真实证据一致。- 浏览器 worker 输出截图和
result.json已由 Codex 复核。 - 本阶段完成后由 Codex 提交 git。
6. 执行结果
task474-local-folder-empty-trash-ui-smoke.js新增并通过:local folder 页面垃圾箱与资源垃圾箱清空 UI、confirm、无导航、trash-index 清理、文件删除。task475-local-folder-markdown-trash-lifecycle-smoke.js新增并通过:loose Markdown 页面 delete / restore / purge 生命周期与文件系统一致。- Codex 复核命令:
node --check scripts/task474-local-folder-empty-trash-ui-smoke.jsnode --check scripts/task475-local-folder-markdown-trash-lifecycle-smoke.jsMNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3014 PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/google-chrome-stable node scripts/task474-local-folder-empty-trash-ui-smoke.jsMNOTE_WEB_SMOKE_BASE_URL=http://127.0.0.1:3014 node scripts/task475-local-folder-markdown-trash-lifecycle-smoke.js
- Reasonix Browser Worker 复测输出:
tmp/reasonix-batch-a3-browser-task474-empty-trash-2026-05-21/,核心截图trash-workbench-empty.png已由 Codex 查看。