3.7 KiB
3.7 KiB
[recycle] Rust Kernel Legacy Delete List
目标:给 Phase 8 第一批
TS_LEGACY_DELETE提供固定清单,先停写并切调用方,再删除已被 Rust 替代的 TS 真入口。
1. 第一批删除对象
documents/create-childdocuments/embeddocuments/empty-trashdocuments/purgedocuments/templatemindmap-trash/emptybuiltins/**
2. 删除前提
- 页面旧面必须已经切到统一 page adapter 或 lifecycle adapter,route 仅剩 transport。
- AI 核心工具必须已经切到 Rust Tool runtime 或
ai-agent/run统一入口,不能再由builtins/**私下持有真执行面。 - 统一 bridge-log 必须能记录失败态、冲突态与补偿态,避免删除旧面后失去回查能力。
3. 删除策略
3.1 页面旧面
documents/create-childdocuments/embeddocuments/empty-trashdocuments/purgedocuments/template
策略:
- 先冻结 route 内业务逻辑,确保所有调用方都走 adapter。
- 保留 Web route 的 auth、参数校验和 HTTP transport。
- 先继续清理
page-command-adapter.ts/page-lifecycle-command-adapter.ts中残留的 TS 真执行。 - 在前端调用方仍直接依赖这些 route,且 adapter 仍承载真实写入前,不得直接物理删除 route 文件。
- 当 release audit 与 cutover gate 均确认无回退需求后,再物理删除历史 helper/分支。
3.2 Mindmap 旧面
mindmap-trash/empty
策略:
mindmap-trash/empty现已切到mindmaps.emptyTrashByWorkspaceRust runtime/transport。- 该 route 仍是兼容入口,但只保留 Web transport 壳,不再直接持有 TS 真执行。
- 仍需确认
task-042的失败/冲突/补偿落账和最终运行态回归稳定,再删除纯兼容分支。
3.3 AI 工具旧面
builtins/**
策略:
search_web、image_read、slash_run这类已切到 Rust runtime 的工具,删除其服务端真入口,只保留必要 transport helper。client-tool-result与oo_*属于TS_TRANSPORT_KEEP,不在本批物理删除范围。asset_extract_outline、asset_to_mindmap尚未完全 Rust 化,暂不从builtins/**整体删除,但必须禁止继续扩展新的私有真入口。
4. 当前结论
- 第一批
TS_LEGACY_DELETE已完成清单冻结。 documents/create-child、documents/embed、documents/empty-trash、documents/purge、documents/template、mindmap-trash/empty、builtins/**已被明确纳入 Phase 8 的旧面退役范围。- 截至 2026-04-15,这批对象中还没有可直接物理删除的 route 文件;当前可安全推进的是:
- 把 route 固定为纯 transport 壳。
- 把 adapter 内残留的 TS 真执行继续收口。
- 为每个旧面补齐调用方清单与“可删前置条件”。
- 其中页面旧面已完成第一轮收口:
create-child已复用documents.createtemplate、empty-trash、purge已补齐 Rust runtime/transport 映射embed已切到documents.save,但插入位计算与pageReferenceblock 组装仍在 TS
- 因此页面旧面的主要残留已缩到
wolai-frontend/src/lib/documents/page-command-adapter.ts中的embed内容编排,以及wolai-frontend/src/lib/documents/page-lifecycle-command-adapter.ts的历史兼容面。 mindmap-trash/empty已不再由 route 直接调用api.mindmaps.emptyTrashByWorkspace,但在调用方与最终运行态回归全部通过前,仍不满足物理删除条件。- 后续删除动作必须以
/mnt/Data1T/mnote/design/old/08-legacy-rust-kernel/done/rust-kernel-cutover-v1.md和/mnt/Data1T/mnote/design/old/08-legacy-rust-kernel/done/release-readiness-source-audit.md的最终 gate 为准。