diff --git a/design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md b/design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md index 1508a6ce..dc4469c5 100644 --- a/design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md +++ b/design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md @@ -65,8 +65,8 @@ 入口文档: -- `design/04-tree-domain/process/4-45-filetree-open-editors-lifecycle-link-checklist-v1.md` -- `design/04-tree-domain/process/4-44-filetree-action-layer-paste-drop-delete-v1.md` +- `design/04-tree-domain/done/4-45-filetree-open-editors-lifecycle-link-checklist-v1.md` +- `design/04-tree-domain/done/4-44-filetree-action-layer-paste-drop-delete-v1.md` 执行目标: @@ -89,8 +89,8 @@ 入口文档: -- `design/04-tree-domain/process/4-34-filetree-trash-dual-browser-no-refresh-v1.md` -- `design/04-tree-domain/process/4-28-trash-restore-location-reveal-focus-v1.md` +- `design/04-tree-domain/done/4-34-filetree-trash-dual-browser-no-refresh-v1.md` +- `design/04-tree-domain/done/4-28-trash-restore-location-reveal-focus-v1.md` 执行目标: @@ -118,7 +118,7 @@ - `design/01-tree-first-graph-kernel/process/1-4-next-phase-execution-roadmap-v1.md` - `design/01-tree-first-graph-kernel/process/1-5-next-phase-sequential-execution-checklist-v1.md` - `design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md` -- `design/05-editor-mainline/process/5-26-resource-open-resolver-convergence-checklist-v1.md` +- `design/05-editor-mainline/done/5-26-resource-open-resolver-convergence-checklist-v1.md` 执行目标: @@ -215,7 +215,7 @@ 入口文档: - `design/01-tree-first-graph-kernel/process/1-5-next-phase-sequential-execution-checklist-v1.md` -- `design/04-tree-domain/process/4-44-filetree-action-layer-paste-drop-delete-v1.md` +- `design/04-tree-domain/done/4-44-filetree-action-layer-paste-drop-delete-v1.md` 执行目标: @@ -366,7 +366,8 @@ - `3-13` 的空引用块、空表格单元格、legacy marks、web_shell 过渡注释已由 Batch C 追认。 - `1-6` 的 A2 浏览器可见读回、conflict UI、C1 export smoke 已由 Batch C / 本轮复核完成。 -- `5-26` 仍保持 process,等待最小可复核实现或新的 browser evidence。 +- `5-26` 已归档到 `design/05-editor-mainline/done/`,Resource Open Resolver / 主编辑器资源 tab / FileTree open target 的收口证据不再作为 Batch B/C 尾项。 +- `4-38` 已归档到 `design/04-tree-domain/done/`,其 resource lifecycle / open target 原始未完成项已由 `4-39` / `4-40` / `4-41` / `4-44` / `4-45` 覆盖。 - `task451` 与 `task486` 已在当前 3000 主进程上复测通过,不再作为本轮尾项。 ### Batch D:live cache / command context diff --git a/design/04-tree-domain/process/4-38-filetree-resource-lifecycle-open-target-checklist-v1.md b/design/04-tree-domain/done/4-38-filetree-resource-lifecycle-open-target-checklist-v1.md similarity index 56% rename from design/04-tree-domain/process/4-38-filetree-resource-lifecycle-open-target-checklist-v1.md rename to design/04-tree-domain/done/4-38-filetree-resource-lifecycle-open-target-checklist-v1.md index 69a41391..08c99384 100644 --- a/design/04-tree-domain/process/4-38-filetree-resource-lifecycle-open-target-checklist-v1.md +++ b/design/04-tree-domain/done/4-38-filetree-resource-lifecycle-open-target-checklist-v1.md @@ -1,10 +1,14 @@ # 4-38 File Tree Resource Lifecycle 与 Open Target 收口 Checklist v1 -> 状态:process +> 状态:done > > 日期:2026-05-20 > > Owner:File Tree / local_folder executor / resource lifecycle +> +> 归档时间:2026-05-21 +> +> 归档说明:本文的原始未完成项已被后续 `4-39` / `4-40` / `4-41` / `4-44` / `4-45` 拆分并完成。本文保留为资源 lifecycle 与 open target 收口的追认记录,不再作为活跃 process 入口。 ## 1. 目标 @@ -21,29 +25,39 @@ ## 3. Checklist -- [ ] 扩展或补强 File Tree open target,能表达 local raw file、directory、asset folder、mindmap/table/office/image 等资源身份。 -- [ ] 统一 local resource identity: +- [x] 扩展或补强 File Tree open target,能表达 local raw file、directory、asset folder、mindmap/table/office/image 等资源身份。 +- [x] 统一 local resource identity: - [x] 支持 `local-file:`。 - - [ ] 保留 `local:asset:` / `local:node:` 兼容。 + - [x] 保留 `local:asset:` / `local:node:` 兼容。 - [x] 规范化 root-relative UTF-8 path,不允许 root escape。 - [x] `resolve_local_raw_file_id` 支持真实 projection 暴露的 `local-file:`,并补 restore/purge 查找兼容测试。 - [x] 本地单独删除 mindmap / office / 普通附件资源时必须进入 `.mnote/trash-index.json`,不绕过 local trash。 -- [ ] 前端 delete/bulk delete 对 local resource 优先走 `/api/tree/commands` 的统一 archive/purge/restore 语义,旧 resource URL 只作为兼容 fallback。 +- [x] 前端 delete/bulk delete 对 local resource 优先走 `/api/tree/commands` 的统一 archive/purge/restore 语义,旧 resource URL 只作为兼容 fallback。 - [x] local_folder move 若传入 `sortOrder`,不得静默丢弃;至少返回明确 unsupported,或实现稳定排序记录。 ## 4. 验收 - [x] Rust 测试覆盖 `local-file:Page/资源.ext` delete / restore / purge。 - [x] Rust 测试覆盖本地 mindmap 文件单独删除进入 trash index。 -- [ ] 浏览器 smoke 覆盖本地文件夹资源行单独删除后垃圾箱可见、恢复回原路径、永久删除清理索引。 -- [ ] 现有 `task437-local-folder-asset-trash-lifecycle-smoke.js` 继续通过。 +- [x] 浏览器 smoke 覆盖本地文件夹资源行单独删除后垃圾箱可见、恢复回原路径、永久删除清理索引。 +- [x] 现有 `task437-local-folder-asset-trash-lifecycle-smoke.js` 继续通过。 - [x] `cargo test -p mnote-web local_folder` 相关测试通过。 ## 4.1 本轮执行记录 - 已合入:`local-file:` 中文路径资源 delete / restore / purge 覆盖,local move `sortOrder` 返回 `_unsupportedFields.sortOrder`,避免静默吞字段。 - 已验证:相关 Rust targeted tests 与完整 `cargo test -p mnote-web -- --test-threads=1` 通过。 -- 未完成:File Tree open target 合同扩展、前端 delete/bulk delete 全面 cutover、浏览器垃圾箱资源行全链 smoke。 +- 后续覆盖: + - `4-39` 完成 FileTree open target 与 Resource Identity 收口。 + - `4-40` 完成 Resource Lifecycle Command Cutover 与 trash smoke 收口。 + - `4-41` 完成 FileTree bulk resource command cutover。 + - `4-44` / `4-45` 完成 action layer 与 open editors lifecycle link 收口。 +- 2026-05-21 复核: + - `node --check scripts/task437-local-folder-asset-trash-lifecycle-smoke.js && node scripts/task437-local-folder-asset-trash-lifecycle-smoke.js` 通过。 + - `node --check scripts/task464-local-folder-resource-trash-ui-smoke.js && node scripts/task464-local-folder-resource-trash-ui-smoke.js` 通过。 + - `node --check scripts/task473-local-folder-trash-restore-no-refresh-focus-gap-smoke.js && node scripts/task473-local-folder-trash-restore-no-refresh-focus-gap-smoke.js` 通过。 + - `node --check scripts/task474-local-folder-empty-trash-ui-smoke.js && node scripts/task474-local-folder-empty-trash-ui-smoke.js` 通过。 +- 未完成项:无。本文不再作为活跃入口;若后续发现新的 resource lifecycle bug,应在 `bugs/04-tree-domain/process/` 新建缺陷,而不是重开本文。 ## 5. 非目标