Files
mnote/design/old/08-legacy-rust-kernel/done/rust-kernel-legacy-delete-list.md
T

74 lines
3.7 KiB
Markdown
Raw Normal View History

# [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 adapterroute 仅剩 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 为准。