Files
mnote/design/04-tree-domain/done/4-45-filetree-open-editors-lifecycle-link-checklist-v1.md
T

4.1 KiB
Raw Blame History

4-45 FileTree / Open Editors Lifecycle Link Checklist v1

状态:done

日期:2026-05-21

Ownerfiletree action smoke / resource lifecycle observability

1. 目标

参考 Sidex Explorer + Open Editors 联动,补 MNote filetree action 与 open editor state 的可观测测试。当前优先修 smoke 缺口和文档状态,不直接改核心业务。

2. 允许修改范围

  • scripts/task430-vscode-explorer-stage7-smoke.js
  • scripts/task471-local-folder-bulk-resource-trash-smoke.js
  • design/04-tree-domain/process/4-44-filetree-action-layer-paste-drop-delete-v1.md
  • 如发现 checklist 已全部完成,可建议移动到 done/,但不要直接移动未验证文件。

3. 禁止事项

  • 不修改 layout.rs / web_shell.rs / local_folder_source.rs
  • 不改变 delete 默认到垃圾箱的语义。
  • 不把环境准备失败伪装成通过。

4. Checklist

  • 跑或修复 task430 / task471 的可复现前置条件。
  • 明确哪些 smoke 已过、哪些因环境阻塞。
  • 补充 open editor / filetree active row / lifecycle 状态断言建议。
  • 更新 4-44 checklist 执行记录。

5. 验收

  • node --check scripts/task430-vscode-explorer-stage7-smoke.js
  • node --check scripts/task471-local-folder-bulk-resource-trash-smoke.js
  • node scripts/task430-vscode-explorer-stage7-smoke.js
  • node scripts/task471-local-folder-bulk-resource-trash-smoke.js

6. 非目标

  • 不实现完整 undo stack。
  • 不改 cloud storage drop executor。

7. 本轮执行记录

  • 2026-05-21Reasonix Worker D 识别到 task430 的前置问题:新注册用户在 workspaces:fetchWorkspaceSummaries 前可能还没有 workspace,需要先通过 /api/tree/commands create action 触发 workspace bootstrap。
  • 2026-05-21Worker D 还建议将 task471 的验证记录同步到 4-44,并补 open editor / lifecycle 状态断言。
  • 2026-05-21Worker D 进程停留在计划提交阶段,没有生成 final.md,也没有实际修改 smoke 或 checklist;本轮不把 4-45 checklist 标记为完成。
  • 2026-05-22Worker A 实际修改:
    • task430 的 workspace bootstrap 添加 fallback:当 workspaces:fetchWorkspaceSummaries 无返回时,通过 /api/tree/commands create(不带 workspaceId)触发 Rust 端 workspaces:ensureDefaultWorkspace 自举 workspace。
    • 添加 result.phases 阶段追踪(auth-signin → auth-navigate → workspace-bootstrap),让失败可区分环境阻塞 vs 业务回归。
    • 添加 filetree-active-row 断言:检查当前打开页对应的 FileTree row 是否有 [data-active="true"]
    • 添加 filetree-selected-row 记录:记录选中行 ID(不做强制断言,因选中语义随点击变化)。
    • 添加 open-editors-section 记录:确认 MNote 当前无 Open Editors DOM sectionVS Code 对比的已知缺口),只记录不报错。
    • 所有新增断言均使用 runOptional 包装,环境缺口标记为 skipped 而不阻塞整体结果。
  • 2026-05-21Codex 独立复跑 node --check scripts/task430-vscode-explorer-stage7-smoke.js / node scripts/task430-vscode-explorer-stage7-smoke.js,结果 ok:trueresult.phasesauth-signinauth-navigateworkspace-bootstrap 均通过;f2-inline-rename-docf2-inline-rename-assetcut-paste-movednd-preflight-guard 均通过。
  • 2026-05-21Reasonix Browser Worker 复跑 task430,输出目录 tmp/reasonix-batch-a-browser-task430-2026-05-21/,结论 PASS_WITH_KNOWN_GAPS。已知缺口保留为:FileTree row 未同步 data-active="true"、Open Editors section 未实现、右键菜单缺 Paste Into、DnD readonly/重名冲突仍需后续端到端矩阵。
  • 2026-05-21Codex 独立复跑 node --check scripts/task471-local-folder-bulk-resource-trash-smoke.js / node scripts/task471-local-folder-bulk-resource-trash-smoke.js,结果 ok:true。Reasonix Browser Worker 输出目录 tmp/reasonix-batch-a-browser-task471-2026-05-21/,确认两个 local folder 资源行可 Ctrl 多选、确认文案含 2 个附件、DOM 状态写入 bulk-delete / archived.mnote/trash-index.json 包含两项。