Files
mnote/design/old/08-legacy-rust-kernel/done/rust-kernel-final-closure-checklist.md
T

5.2 KiB
Raw Blame 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-childdocuments/empty-trashdocuments/purgedocuments/template 已进入统一 Rust transport / adapter 主链。
  • mindmap-trash/empty 已进入 Rust runtime / transport 主链。
  • builtins/** 中已被 Rust runtime 接管的服务端真入口,不再允许继续作为主执行面扩展。
  • documents/embedmindmap-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_searchdocs_read 已进入 Rust tool runtimeConvex 主链下 ai-agent/run 直接通过 executeRustBridgeTool(...) 执行,docsServerTools 仅保留 fallback。
  • search_webimage_readslash_run 持续保持 RUST_OWNER
  • asset_extract_outlineasset_to_mindmapoo_* 已明确归类为 TS_TRANSPORT_KEEP,不再保留 builtins 级 TS_COMPAT_PENDING
  • asset_to_mindmap 的真正导图写入已收口到 Rust mindmap_apply_opsTS 侧仅保留外部解析与编排壳。

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、外部服务编排、客户端桥与明确冻结的兼容壳。