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

74 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# [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 为准。