# [recycle] Rust Kernel Legacy Delete List > 目标:给 Phase 8 第一批 `TS_LEGACY_DELETE` 提供固定清单,先停写并切调用方,再删除已被 Rust 替代的 TS 真入口。 ## 1. 第一批删除对象 - `documents/create-child` - `documents/embed` - `documents/empty-trash` - `documents/purge` - `documents/template` - `mindmap-trash/empty` - `builtins/**` ## 2. 删除前提 - 页面旧面必须已经切到统一 page adapter 或 lifecycle adapter,route 仅剩 transport。 - AI 核心工具必须已经切到 Rust Tool runtime 或 `ai-agent/run` 统一入口,不能再由 `builtins/**` 私下持有真执行面。 - 统一 bridge-log 必须能记录失败态、冲突态与补偿态,避免删除旧面后失去回查能力。 ## 3. 删除策略 ### 3.1 页面旧面 - `documents/create-child` - `documents/embed` - `documents/empty-trash` - `documents/purge` - `documents/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.emptyTrashByWorkspace` Rust 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.create` - `template`、`empty-trash`、`purge` 已补齐 Rust runtime/transport 映射 - `embed` 已切到 `documents.save`,但插入位计算与 `pageReference` block 组装仍在 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 为准。