Files

114 lines
5.2 KiB
Markdown
Raw Permalink Normal View History

# [recycle] Rust 内核最终收尾详细清单
> 更新时间:2026-04-16
>
> 关联文档:
> - `/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`
> - `/mnt/Data1T/mnote/design/old/08-legacy-rust-kernel/done/rust-kernel-legacy-delete-list.md`
> - `/mnt/Data1T/mnote/design/old/08-legacy-rust-kernel/done/ai-tool-cutover-matrix.md`
## 1. 当前结论
截至 2026-04-16,上一轮最终收尾里剩下的 CLI、AI runtime 与文档口径尾项已经闭合。
现在这份清单不再是“还缺什么”,而是给出最终关闭结果:
- 第一批 `TS_LEGACY_DELETE` 已经被压缩为“纯 transport 壳 / 冻结 helper / 明确删除清单”,不再允许继续长出第二套业务语义。
- 页面、块、Mindmap、OnlyOffice 与 AI 工具主链已经完成最终收口,不再存在主链级别的“Rust 包装 + TS 真执行”假完成状态。
- `mnote-cli` 已进入最小真实执行态,并且有可复跑的仓库内 smoke。
- AI 工具矩阵里的 builtins 主链已经完成最终归类,不再保留模糊的 builtins 级 `TS_COMPAT_PENDING`
- 发布前运行态复核证据已经补齐,可以给出统一最终口径。
---
## 2. 尾项关闭结果
### 2.1 第一批 `TS_LEGACY_DELETE`
当前状态:已关闭为“冻结清单 + 纯壳边界”。
结果:
- `documents/create-child``documents/empty-trash``documents/purge``documents/template` 已进入统一 Rust transport / adapter 主链。
- `mindmap-trash/empty` 已进入 Rust runtime / transport 主链。
- `builtins/**` 中已被 Rust runtime 接管的服务端真入口,不再允许继续作为主执行面扩展。
- `documents/embed``mindmap-ai/**` 这类仍保留的上层编排路径,必须按冻结边界维护,不能反向长出新的核心业务规则。
验收结论:第一批旧面已经不再阻塞“Rust 成为主业务执行平面”的宣布口径。
### 2.2 双路径执行清理
当前状态:已关闭。
结果:
- 页面主写链、块主写链、Mindmap 删除/恢复/清空回收站、OnlyOffice callback/forcesave 均已切到 Rust command/query/tool/runtime 主链。
- 旧 TS 侧保留的仅是 transport、外部服务编排或历史兼容 helper,不再是现网主真执行入口。
- `src/lib/documents/block-command-adapter.ts` 明确被冻结为遗留兼容 helper;现网 `/api/blocks/*` 统一走 `src/lib/blocks/block-command-adapter.ts`
### 2.3 CLI 最小真实执行态
当前状态:已关闭。
结果:
- `mnote-cli` 新增并稳定支持 `--execute` 真实执行模式。
- 已修复 `block patch --execute` 的块树回写形状问题,`block move --execute` 不再因为内容快照损坏而失败。
- 仓库内最小 smoke 已扩展到:
- `sidebar dataset`
- `page get/create/title/save/move/delete/restore`
- `block insert/patch/move/embed`
- `search documents`
- `tool run docs_search/docs_read`
- `mindmap put/get/op`
- 运行命令:`bash /mnt/Data1T/mnote/rust/scripts/task049-cli-smoke.sh`
- 验收产物会落盘到 `/tmp/task049-cli-smoke-*`,便于失败后回查逐步 JSON 输出。
### 2.4 AI 工具矩阵收口
当前状态:已关闭。
结果:
- `docs_search``docs_read` 已进入 Rust tool runtimeConvex 主链下 `ai-agent/run` 直接通过 `executeRustBridgeTool(...)` 执行,`docsServerTools` 仅保留 fallback。
- `search_web``image_read``slash_run` 持续保持 `RUST_OWNER`
- `asset_extract_outline``asset_to_mindmap``oo_*` 已明确归类为 `TS_TRANSPORT_KEEP`,不再保留 builtins 级 `TS_COMPAT_PENDING`
- `asset_to_mindmap` 的真正导图写入已收口到 Rust `mindmap_apply_ops`TS 侧仅保留外部解析与编排壳。
### 2.5 发布前运行态复核
当前状态:已关闭。
截至 2026-04-16,已经具备以下运行态证据:
- 浏览器回归:`scripts/task019-document-ui-regression.js`
- 浏览器回归:`scripts/task021-mindmap-ui-regression.js`
- 浏览器回归:`scripts/task022-onlyoffice-ui-regression.js`
- AI runtime 证据:`pnpm exec vitest run src/lib/ai-agent/runtime/runAgent.test.ts`
- CLI 主链证据:`bash /mnt/Data1T/mnote/rust/scripts/task049-cli-smoke.sh`
- Rust 执行层证据:`cargo test --manifest-path /mnt/Data1T/mnote/rust/Cargo.toml -p mnote-cli -p bridge-runtime`
补充说明:定向 `eslint` 当前无 error,仅剩仓库既有 warnings,不构成这轮收尾阻塞项。
---
## 3. 最终完成标准核对
现在已经同时满足下面几条:
- 第一批 `TS_LEGACY_DELETE` 已物理删除或明确冻结为不可扩展壳。
- 仓库里不再存在主链级别的“Rust 包装 + TS 真执行”双路径假完成状态。
- `mnote-cli` 已覆盖一批关键主链的真实执行,并具备仓库内可复跑 smoke。
- AI 工具矩阵中的 builtins 主链已不再保留模糊的 `TS_COMPAT_PENDING`
- 发布前运行态复核已经重新通过。
- 文档口径与代码现状可以统一到同一个最终结论。
---
## 4. 一句话结论
现在可以把最后一阶段的结论收口为:
> **Rust 已成为 mnote 的主业务执行平面;Web / TS 侧仅保留 transport、外部服务编排、客户端桥与明确冻结的兼容壳。**