Files
mnote/design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md
T
lix-2026 1882db7681 收口 MNote P0 P1 P2 审查尾项
- 归档 OnlyOffice live bridge、Page AI、mindmap、design governance 与相关 bug 条目
- 补齐 MinerU OCR 后端 runtime 合同与 smoke/test 基线
- 收口 ChatOnly/Doubao、ObjectIdentity、Page Aggregate compat 与 runtime owner 文档口径

验证:
- cargo test --manifest-path rust/Cargo.toml -p mnote-web local_ocr -- --test-threads=1
- cargo test --manifest-path rust/Cargo.toml -p mnote-web onlyoffice_bridge -- --test-threads=1
- git diff --check
- git diff --cached --check
- codegraph index . --force && codegraph status .
- codegraph sync . && codegraph status .
2026-06-01 09:29:12 +08:00

488 lines
23 KiB
Markdown
Raw 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.
# 1-8 [process] MVP 后阶段 process 执行总序 v1
> 创建时间:2026-05-21
>
> 当前状态:`PROCESS`
>
> 2026-05-22 归档治理补充:当前 active `process/` 只保留可直接执行的少量收口稿;长期架构、愿景、参考矩阵、Wolai 对标基线、Mindmap 总设计、旧 AI 块级执行稿和 Convex Web 迁移入口已分别移动到 `reference/`、`done/` 或 `old/`。本文是后续调度入口,不代表下列所有历史入口仍在 `process/`。
>
> 2026-05-31 口径复核:当前主线仍以 `CURRENT_ARCHITECTURE.md`、`ARCHITECTURE.md` 与本文件为准;历史 `design/01-05-current-priority-overview.md` 已迁入 `design/old/01-05-current-priority-overview.md`,不再作为 active 调度入口。`3-3`、`3-18` 等已归档文档只保留为完成证据,后续 live / local-folder runtime 收口默认看 `3-23`、`5-32` 与相关 bug。
>
> 2026-06-01 P0/P1/P2 复核:P0 阻塞项已由 `4-44/4-45/4-34/4-28` 归档证据覆盖,不再作为实现阻塞;`5-30` 与 `5-33` 已归档到 `05-editor-mainline/done/`,导航页 breadcrumb / fetch guard 尾项拆到 `5-35``7-35/7-36` 已降级为协作参考,不再占用产品 process 队列。当前 active 产品 process 重点收敛为 `3-23`、`3-25`、`5-35`、`7-18`、`7-43` 及对应 bugs/process。
>
> 目标:把本轮 design governance 后剩余的主线 `process/` 文档排成可执行顺序,避免后续 worker 在 active process 中自行猜优先级。
>
> 上位依据:
> - `/mnt/Data1T/mnote/ARCHITECTURE.md`
> - `/mnt/Data1T/mnote/CURRENT_ARCHITECTURE.md`
> - `/mnt/Data1T/mnote/design/README.md`
> - `/mnt/Data1T/mnote/design/10-review/done/15-design-governance-mvp-post-review-v1.md`
> - `/mnt/Data1T/mnote/design/10-review/done/18-current-design-and-bug-hunt-review-v1.md`
## 1. 一句话顺序
后续执行顺序固定为:
> **先补阻塞验证和工作区身份底座,再收 Page Aggregate / BufferStore / live cache / command context,随后补资源打开与文件树 action,最后扩 AI、mindmap、Wolai 对标和远期分享同步。**
不要从 `process/` 中按编号顺序机械执行。编号只代表历史产生顺序,不代表当前优先级。
## 2. 状态分类
### 2.1 Active Process
代表仍需继续推进的执行或架构收口文档。
判定规则:
- 有未完成 checklist。
- 或者是当前主线架构入口,仍会指导后续实现。
- 或者有明确阻塞项、smoke 缺口、compat 瘦身缺口。
### 2.2 Reference
放在对应大类的 `reference/`,不是当前直接执行 checklist。
典型文档:
- 参考实现采用矩阵。
- Wolai / 思源 / Sidex / Hermes 对照证据。
- P3 / future 候选合同。
- 已拆成执行 checklist 的 review 原始证据。
处理规则:
- 不迁入 `done/`,因为不是“当前代码已完成”的实现文档。
- 不保留在 `process/`,避免干扰后续执行队列。
- 不当作当前 sprint 的任务源。
- 需要转实施时,新建更小的执行 checklist。
### 2.3 Done / Old
- 已完成且有真实代码、测试、smoke 或明确验收证据:移动到同域 `done/`
- 已被覆盖且口径过时但未完成:移动到 `design/old/<domain>/process/` 并标 `[recycle]`
- 本轮已完成一批 `done/` 归档,详见 `15-design-governance-mvp-post-review-v1.md`
## 3. P0:先清阻塞和验证红灯
这一步先处理“会干扰后续判断”的验证缺口,不扩新产品面。
### P0.1 FileTree action / open editors smoke 前置
入口文档:
- `design/04-tree-domain/done/4-45-filetree-open-editors-lifecycle-link-checklist-v1.md`
- `design/04-tree-domain/done/4-44-filetree-action-layer-paste-drop-delete-v1.md`
执行目标:
1. 修复或明确 `task430-vscode-explorer-stage7-smoke.js` / `task471-local-folder-bulk-resource-trash-smoke.js` 的 workspace bootstrap 前置条件。
2. 把 4-44 中未通过的 browser smoke 跑绿,或把环境阻塞写成可复现 bug。
3. 补 open editor / filetree active row / lifecycle 状态断言。
验收:
- `node --check scripts/task430-vscode-explorer-stage7-smoke.js`
- `node --check scripts/task471-local-folder-bulk-resource-trash-smoke.js`
- 对应 smoke 实跑通过,或形成 `bugs/04-tree-domain/process/` 中明确 bug。
归档条件:
- `4-45` 四项 checklist 完成后归档到 `04-tree-domain/done/`
- `4-44` browser smoke 全绿后归档到 `04-tree-domain/done/`
2026-06-01 状态:本项已由 `4-44` / `4-45` done 文档和 `task471` / `task476` / `task487` 复跑证据覆盖,不再作为 P0 阻塞项。
### P0.2 local folder no-refresh / restore focus
入口文档:
- `design/04-tree-domain/done/4-34-filetree-trash-dual-browser-no-refresh-v1.md`
- `design/04-tree-domain/done/4-28-trash-restore-location-reveal-focus-v1.md`
执行目标:
1. 补 local folder 非 md 资源 trash / restore / purge 的双浏览器 no-refresh 证据。
2. 补 restore 后 DOM focus / reveal 的浏览器证据。
验收:
- 新增或复用 task436 等价 smoke,证明 B 浏览器不刷新能看到 local folder 资源生命周期变化。
- restore location / reveal / focus smoke 截图和 JSON 证据落盘。
归档条件:
- local folder 子项通过后,`4-34` 归档。
- React / Rust 主壳 focus 证据完成后,`4-28` 归档。
2026-06-01 状态:本项已由 `4-34` / `4-28` done 文档和后续 tree/filetree lifecycle smoke 证据覆盖,不再作为 P0 阻塞项。
## 4. P1:统一工作区身份、BufferStore 和 Page Aggregate
这一步是 MVP 后阶段真正的底座收口。
### P1.1 WorkspacePath / ObjectIdentity
入口文档:
- `design/01-tree-first-graph-kernel/reference/1-4-next-phase-execution-roadmap-v1.md`
- `design/01-tree-first-graph-kernel/reference/1-5-next-phase-sequential-execution-checklist-v1.md`
- `design/01-tree-first-graph-kernel/done/1-6-next-phase-gap-closure-checklist-v1.md`
- `design/05-editor-mainline/done/5-26-resource-open-resolver-convergence-checklist-v1.md`
执行目标:
1. 统一 page `.md`、raw local file、directory、asset folder、mindmap、office 的 canonical identity。
2. 让 FileTree open target、主编辑器 tab、Open Editors snapshot 和 URL active state 消费同一套 identity。
3. 解决 `5-26` 中“正文附件 open resolver 与 FileTree open resolver 收敛”未闭环问题。
验收:
- `cargo test -p mnote-web filetree_runtime -- --test-threads=1`
- `cargo test -p mnote-web web_shell -- --test-threads=1`
- 覆盖 markdown / office / mindmap / raw file / directory 的 browser smoke。
- 2026-06-01 进展:已补 `scripts/task524-workspace-object-identity-matrix-smoke.js`,覆盖 page `.md`、directory、raw text、mindmap、OnlyOffice 在 FileTree row `workspacePath`、OpenEditorsSnapshot entry、URL `resourceTab`、active tab identity 之间的对齐;验证命令 `MNOTE_UI_BASE_URL=http://127.0.0.1:3301 node scripts/task524-workspace-object-identity-matrix-smoke.js` 已通过。P1.1 的 identity 浏览器矩阵缺口已收口,后续只保留与 `1-5 / 1-6` 历史 checklist 对账。
归档条件:
- `5-26` checklist 完成后归档。
- `1-5 / 1-6` 中对应 identity 缺口完成打勾。
### P1.2 DocumentBuffer / BufferStore
入口文档:
- `design/01-tree-first-graph-kernel/reference/1-5-next-phase-sequential-execution-checklist-v1.md`
- `design/01-tree-first-graph-kernel/done/1-6-next-phase-gap-closure-checklist-v1.md`
- `design/05-editor-mainline/done/5-6-page-aggregate-alignment-checklist-v1.md`
执行目标:
1. 让 tiptap、resource tab、watcher、agent 写入和冲突 UI 共用打开态与文件版本仲裁。
2. 避免 dirty editor、资源 tab、文件树点击分别维护状态。
3. 把已有 BufferStore 基础设施接到更多真实 runtime 消费点。
验收:
- `cargo test -p mnote-web document_buffer -- --test-threads=1`
- `cargo test -p mnote-web local_folder -- --test-threads=1`
- 外部修改、dirty buffer、agent writeback、tab 切换 smoke 全部可解释。
归档条件:
- `1-6` 中 BufferStore 运行时接入、浏览器读回、冲突 UI 相关项完成。
2026-06-01 状态:历史 BufferStore 读回 / conflict UI 已由 `1-6` 与 Batch C 证据覆盖;真实 agent writeback -> watcher -> BufferStore -> Page Aggregate -> tiptap 的端到端回收仍归入 `design/07-ai/process/7-18-local-first-agent-file-editing-control-plane-v1.md` Phase B,不再作为本文模糊 P1.2 阻塞。
### P1.3 Page Aggregate compat 瘦身
入口文档:
- `design/05-editor-mainline/done/5-6-page-aggregate-alignment-checklist-v1.md`
- `design/05-editor-mainline/reference/5-5-page-aggregate-single-truth-alignment-v1.md`
- `design/03-rust-web/done/3-13-rust-web-local-markdown-gfm-ast-parser-migration-v1.md`
执行目标:
1. 收敛 `body.content` / compat join / 临时转换分支。
2. 补 GFM AST parser 写侧尾项:web shell 单测、手写 parser 过渡标记、临时适配分支清理。
3. 明确 `PageAggregateClientState` 哪些仍是合法 draft state,哪些应退出事实源地位。
2026-06-01 收口口径:`body.blockDocument` / `editorDocument` 是 local-first 浏览器主消费面;`PageBody.content``mnote.page_aggregate.v1` 中继续保留为必填兼容镜像 / fallback,不作为 active editor 初始化优先事实源。`body.content` 改可选或删除必须进入 v2 协议升级或独立迁移 checklist,不能在 v1 兼容期直接删除。
验收:
- `cargo test -p mnote-web local_markdown -- --test-threads=1`
- `cargo test -p mnote-web web_shell -- --test-threads=1`
- Page Aggregate body/options/title smoke 不回退。
归档条件:
- `3-13` 已完成 GFM AST 迁移尾项并归档到 `design/03-rust-web/done/``web_shell.rs` legacy marks 分支改判为兼容层保留,不再作为迁移阻塞项。
- `5-6` 剩余 Phase G/H 小尾项完成或拆成更小 checklist 后归档;`bugs/05-editor-mainline/done/5-41-page-aggregate-compat-slimming-gaps-v1.md` 已明确 `PageBody.content` 的 v1/v2 边界。
## 5. P2tree live cache 与 command context
### P2.1 Tree realtime live cache
入口文档:
- `design/03-rust-web/done/3-3-rust-web-tree-realtime-event-stream-v1.md`
- `design/03-rust-web/reference/3-1-rust-web-long-term-checklist-v2.md`
- `design/03-rust-web/process/3-23-sidebar-local-folder-resource-runtime-followup-v1.md`
- `design/05-editor-mainline/done/5-32-filetree-lazy-loading-sidex-alignment-v1.md`
执行目标:
1. 把 local-folder watcher、projection refresh、WS/SSE snapshot/delta/resync 收进同一 live cache。
2. 减少 polling、手动 refresh 和双路径补偿。
3. 明确 Convex realtime 只服务 cloud / sync replica,不回到 local-first 默认真相层。
验收:
- tree create / rename / move / archive / restore / purge 双浏览器 smoke。
- local folder watcher 修改 `.md`、resource、directory 后主壳不整页刷新。
归档条件:
- `3-3` 已归档为 tree realtime event stream 完成证据;剩余 live cache / refresh 收口不得重新打开旧 `3-3`,应拆入 `3-23``5-32` 或明确的 `bugs/process`
### P2.2 Local folder tree live consumer 收口
入口文档:
- `design/03-rust-web/done/3-18-local-folder-tree-live-consumer-convergence-checklist-v1.md`
执行状态:
- 2026-05-21:已完成后端 SSE 形状、前端 tree live controller 接入与 browser smoke 复核;`task487` 已在新编译的 3000 进程上通过,`data-mnote-tree-live-transport=local-folder-events``data-mnote-tree-live-status=connected`,外部创建 / 删除后 `data-mnote-tree-live-applied=resync`
- 2026-05-21completion hook 口径已补进 Reasonix runner / skill;后续派发无需再靠短轮询等待结果。
- `3-18` 已归档到 `design/03-rust-web/done/`local_folder tree live consumer 收口不再是 `1-8` 的阻塞项。
验收:
- `node scripts/task487-local-folder-tree-live-consumer-smoke.js`
- 真实浏览器里确认 local_folder 不再依赖 `local-folder-static` 作为默认主链。
归档条件:
- `3-18` 已完成并归档,且 smoke / Rust targeted tests 已通过。
### P2.2 Command context / context key
入口文档:
- `design/01-tree-first-graph-kernel/reference/1-5-next-phase-sequential-execution-checklist-v1.md`
- `design/04-tree-domain/done/4-44-filetree-action-layer-paste-drop-delete-v1.md`
执行目标:
1. 菜单、快捷键、按钮、AI 写入能力共享 enablement 判断。
2. 让 readonly、dirty、permission、resource kind、open target 统一成为 context key。
3. 降低 filetree / editor / AI 各自硬编码能力判断的概率。
验收:
- Rust 或 JS 单测覆盖 context key `when` 判断。
- 文件树右键、主编辑器附件菜单、快捷键的 disabled/hidden 行为一致。
归档条件:
- `4-44` action layer smoke 全绿。
- `1-5` command context 对应项完成。
## 6. P3AI 主线继续收口
### P3.1 online markdown final content truth
入口文档:
- `design/07-ai/done/7-27-online-markdown-writeback-final-content-truth-v2.md`
- `design/07-ai/process/7-18-local-first-agent-file-editing-control-plane-v1.md`
执行目标:
1.`7-27` 限定为历史 online / compat 回归证据,不再把 `mnote.doc.markdown_edit` 推回 active 设计。
2.`7-18` 为当前 AI 编辑执行入口:MNote 只提供文件定位、授权边界、selection/context、审计和前台同步。
3. Hermes / Reasonix 用自身文件 read / write / patch / diff 能力在 allowed roots 内修改 `.md`
4. 先实现 Agent Target Resolver / target chip / target picker,解决多工作区、多 tab、多资源时到底把哪个对象发送给 agent 的问题。
验收:
- Page AI composer 可见 target chip,能展示 workspace、target title、resourceKind、scope、dirty / readonly 状态。
- target picker 能在当前焦点、打开 tabs、树选中项之间选择;默认 target 来自 last focused editor / resource tab。
- local-first agent 编辑 smoke 断言不调用 `mnote.doc.markdown_edit`
- Hermes / Reasonix run body 包含 `currentFile``allowedRoots``allowedFiles`、selection 和 dirty / readonly context。
- Hermes / Reasonix run body 包含 `targetPackage`,且切 tab 后不影响已冻结 run target。
- agent 写入后 watcher -> BufferStore -> Page Aggregate -> ProseMirror 可见更新。
- dirty buffer 下 agent 写入不会静默覆盖。
归档条件:
- `7-27` 的 6 步实施计划已完成并归档;后续只保留 `revisionRef` 注释可见性、复杂 GFM fallback、多余退役函数体清理等增强项,不阻塞 Batch E。
- `7-18` Phase A0/A/B/C 完成后归档到 `design/07-ai/done/`
### P3.2 ACP runtime 后续步骤
入口文档:
- `design/07-ai/done/7-15-page-ai-acp-agent-runtime-unified-layer-v1.md`
- `design/07-ai/reference/7-12-page-ai-hermes-tool-routing-and-review-surface-v1.md`
- `design/07-ai/done/7-34-acp-runtime-cleanup-availability-stability-tail-v1.md`
执行目标:
1. 继续拆 `7-15` step 8 之后:Reasonix wrapper、前端 runtime selector、存量迁移、旧 HTTP proxy 兼容隔离。
2.`7-12` 的 manifest / review surface / state event 仍未完成项拆新 checklist。
3. Phase C / Review Mode 仍冻结,不在未解冻前实现流式 apply。
验收:
- ACP Hermes 与 ACP Reasonix 均能真实回复。
- session load、permission、tool location、plan UI 不回退。
归档条件:
- `7-15` 后续步骤拆成并完成具体 checklist 后再归档。
- `7-12` Phase B-F 完成或冻结项移出后再归档。
## 7. P4mindmap、Wolai 对标和参考流程
### P4.1 Mindmap 尾项
入口文档:
- `design/06-mindmap/reference/6-mindmap-kernel-phase6-projection-editor-v1.md`
- `design/06-mindmap/done/6-mindmap-phase6-leptos-ui-shell-reuse-checklist-v1.md`
- `design/06-mindmap/reference/6-mindmap-leptos-adapter-reference-notes-v1.md`
执行目标:
1. 明确 simplemindmap 当前产品化边界。
2. 给 KMind visual parity 设置可退出标准,避免无限尾项。
3. 后续 AI 操作 mindmap 时以 Resource Tree 对象能力为入口,不塞入 Markdown 正文真相。
验收:
- mindmap open / save / filetree active / resource tab smoke 继续通过。
- KMind parity 未完成项要么完成,要么明确降级为参考。
### P4.2 Wolai-aline 持续项
入口文档:
- `design/05-editor-mainline/reference/5-9-wolai-aline-continuous-checklist-v1.md`
- `design/08-wolai-aline-test-flow/reference/wolai-aline-test-flow-v1.md`
- `design/05-editor-mainline/reference/5-7-wolai-page-tree-main-editor-experience-restoration-v1.md`
执行目标:
1. 清理 `5-9` 中已被 `5-6` 覆盖但仍显示 TODO 的 Page Aggregate 项。
2. 对 A4 字体 token、E18 paste/clipboard 等仍有价值项补 smoke 或降级。
3. 所有 Wolai 对标任务继续按 `wolai-aline` skill 和 `08` 流程执行。
归档条件:
- `5-9` 剩余项全部完成或降级后归档。
## 8. P5:远期 / 候选 / 参考
这些文档不进入当前直接执行序列,只有当产品优先级明确时再拆 checklist:
- `design/old/03-rust-web/process/3-17-convex-export-web-entry-v1.md`
- CLI 已有迁移闭环;Web 管理入口在当前 Convex 默认退役后已降级为历史设想,不作为 active 或 reference 执行入口。
- `design/04-tree-domain/reference/4-23-local-cloud-explicit-bridge-p3-candidate-v1.md`
- P3 候选,不能进入 local-first 默认主链。
- `design/07-ai/reference/7-17-acp-session-convex-sharing-contract-v1.md`
- Future sharing contract。
- `design/07-ai/reference/7-28-resource-ai-tool-contract-v1.md`
- mindmap / office Resource AI tool 草案。
- `design/09-siyuan-reference/reference/9-siyuan-reference-boundary-and-adoption-v1.md`
- 参考边界,不是实施入口。
- `design/10-review/reference/12-*``13-*``14-*`
- 原始 review 证据;执行项已拆出或归档。
## 9. 推荐执行批次
### Batch A:清验证阻塞
1. `4-45`
2. `4-44`
3. `4-34`
4. `4-28`
完成后预期:tree/filetree action 和 trash/no-refresh 的判断不再被 smoke 红灯干扰。
### Batch B:身份与打开态
1. `5-26`
2. `1-5` identity 子项
3. `1-6` BufferStore / conflict browser 子项
完成后预期:页面、资源、tab、filetree active、open editors 可围绕同一 identity 和 buffer state 工作。
### Batch CPage Aggregate / local markdown 写侧
1. `3-13`
2. `5-6`
3. `1-5` Page Aggregate 子项
完成后预期:正文真相、runtime projection、compat join 的边界更薄。
当前批次状态:
- `3-13` 的空引用块、空表格单元格、legacy marks、web_shell 过渡注释已由 Batch C 追认。
- `1-6` 的 A2 浏览器可见读回、conflict UI、C1 export smoke 已由 Batch C / 本轮复核完成。
- `5-26` 已归档到 `design/05-editor-mainline/done/`Resource Open Resolver / 主编辑器资源 tab / FileTree open target 的收口证据不再作为 Batch B/C 尾项。
- `4-38` 已归档到 `design/04-tree-domain/done/`,其 resource lifecycle / open target 原始未完成项已由 `4-39` / `4-40` / `4-41` / `4-44` / `4-45` 覆盖。
- `3-13` 已由 Batch F 归档;表格 colspan 降级、table marks、alignment、保存失败状态保留和 web shell legacy marks 兼容层均已有证据。
- `1-6` A7 的 `ai.canWrite` 写入守卫已由 Batch F 接入 hermes_tools;后续新增 AI 写入口必须透传同一份 `commandContext`
- `task451``task486` 已在当前 3000 主进程上复测通过,不再作为本轮尾项。
### Batch Dlive cache / command context
1. `3-3`(已由 Batch H 归档到 `design/03-rust-web/done/`
2. `1-5` command context 子项(已由 Batch H 更新 Phase A7 状态)
3. `4-44`(已在 `design/04-tree-domain/done/``task471` / `task476` 均已复跑通过)
完成后预期:树域实时与 enablement 判断更统一。
当前批次状态:
- `3-3` 已由 Batch H 归档,`3-14` WS push、`3-18` local folder tree live consumer 和 `task487` 已覆盖旧 9.2 未完成项。
- `1-5` Phase A7 已追认 `CommandContext` / `when` evaluator、FileTree 右键菜单、Delete/Backspace、`ai.canWrite` 写入守卫的完成证据;editor/object tab 更完整 context 仍作为后续扩展,不阻塞本轮 Batch D 收口。
- `task487``task471``task476` 已在当前 3000 环境复跑通过。
### Batch EAI 与资源工具
1. `7-18`
2. `7-27`(已归档到 `design/07-ai/done/`,只作为历史 online / compat 回归证据)
3. `7-15` 后续拆分(下一批拆 `7-34`
4. `7-12` Phase B-F 拆分(下一批拆 `7-34`
5. `7-28` 仅在 mindmap / office AI 明确排期后进入
完成后预期:local-first AI 主路径稳定,普通 Markdown 编辑不再依赖 MNote 专用编辑工具。
当前批次状态:
- `7-27` 已由 Batch I 复核归档;`mnote.doc.markdown_edit` 在线写回以最终 markdown 为真源,`markdown_edit` 相关 targeted tests 与 manifest write contract 测试已通过。
- `7-18` 已成为当前 active AI 编辑控制面稿;后续实现不再保留 `mnote.doc.markdown_edit` 作为 local-first 默认、fallback 或 remote fallback。
- `7-29` 已完成 Worker A/B/C 审查,结论是 `7-15` Step 15-17 与 `7-12` Phase B/F 不应继续压在一个大文档里推进。
- `7-34` 已完成并归档到 `design/07-ai/done/`:旧 HTTP proxy 默认关闭、`page_ai_workflow` 受共享 tool executor 守卫保护;profile disabled list 三处同源;`capabilityScope` 中心校验已完成;ACP abort API 改为 best-effort cancellation 并主动推送 `run.aborted``task488` 已在当前 3000 真实通过,覆盖 3 个 Reasonix ACP session、并发 run、abort 与 SSE terminal event。cache benchmark 仍是 P2 度量;Phase C Review Mode 继续冻结。
### Batch F:体验对标与远期
1. `6-mindmap-*`
2. `5-9`
3. `3-17`
4. `4-23`
5. `7-17`
完成后预期:产品体验和分享同步进入产品化,而不是继续扩底层 compat。
## 10. 每轮执行的固定流程
每次从本文选一个 batch 后,按以下流程推进:
1. 先读本文和对应入口文档。
2. 对该 batch 新建或更新一个小 checklist,不直接修改大而旧的全景文档。
3. 如果有 2 个以上互不冲突方向,按 Reasonix parallel flow 拆 worker。
4. worker 只改其 ownership 范围,不提交 git。
5. Codex 复核 diff、跑 targeted tests / browser smoke。
6. 完成后:
- 更新 checklist 状态和证据。
- 能归档的移动到 `done/`
- 被覆盖但未完成的移入 `old/` 并标 `[recycle]`
- 更新本文对应 batch 状态。
- 运行 `codegraph sync .`
> **Reasonix 执行说明**Reasonix 编码任务默认使用 30 分钟超时;完成后应通过 completion hook 主动回传结果,不再依赖短轮询等待。
## 11. 不做事项
- 不按文件编号顺序清空 process。
- 不把 `reference/` 下的资料当作当前实现任务。
- 不因为文档老就移动到 `done/`;必须有真实完成证据。
- 不把 Phase C / Review Mode / cloud sync / sharing future 合同提前实现。
- 不恢复旧 Next / BlockNote / Convex 默认主存储口径。