# 3-23 Sidebar local folder / resource runtime follow-up v1 > 创建时间:2026-05-25 > 状态:`process` > 来源:`design/03-rust-web/process/3-22-sidebar-tree-runtime-second-stage-split-v1.md` Batch B / Batch D。 ## 1. 背景 `3-22` 已完成 sidebar shell helper 第一刀,但 `sidebar-tree-runtime.js` 中 local folder、mindmap fetch observer、resource/filetree 编排仍是下一批 03-rust-web owner。 这些代码仍涉及: - `installMindmapAssetFetchObserver` - `withLocalMindmapSourceParams` - `applyMindmapApiMutationToFileTree` - `refreshLocalFolderSidebarSnapshot` - `appendUploadedAssetRow` - `resolveFileTreeUploadTarget` 其中纯 URL/body/method/file name helper 已有一部分迁入 `filetree-runtime.js`。剩余函数多涉及 fetch hook、workspace/root/document 状态、projection render、selection/focus 恢复、watcher 标记和资源行 patch,因此不能整体迁出。 ## 2. 下一批边界 - [ ] 只读审计 mindmap fetch observer,确认是否有新的纯 helper 可迁入 `filetree-runtime.js`。 - [ ] 只读审计 `refreshLocalFolderSidebarSnapshot` 的 post-apply 副作用,避免重复拆已经确认应留在 shell 的 fetch/projection 编排。 - [ ] 若实现,只迁稳定 DOM helper 或 payload normalize helper,不迁 fetch hook 与 projection render。 - [ ] 验证 `task455-local-folder-mindmap-clean-smoke.js` 和 `task479-local-folder-markdown-resource-lifecycle-smoke.js`。 ## 3. 非目标 - 不改变 local folder 资源归属语义。 - 不迁 Rust tree command / projection 语义到前端。 - 不把 Page AI panel 混入本文件;AI owner 已拆到 `design/07-ai/process/7-38-page-ai-sidebar-runtime-owner-split-v1.md`。