Files
mnote/design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md
T
lix-2026 1569699fbb docs: separate design reference queue
- 将不直接执行的 process-reference 文档迁入各域 reference 目录

- 更新 design/README、AGENTS 和总序文档,固定 process/draft/reference/done 目录语义

- 修正活跃文档中指向旧 process 位置的参考链接

验证:git diff --check;codegraph sync .
2026-05-21 10:19:02 +08:00

415 lines
14 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`
>
> 目标:把本轮 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/01-05-current-priority-overview.md`
> - `/mnt/Data1T/mnote/design/10-review/done/15-design-governance-mvp-post-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/process/4-45-filetree-open-editors-lifecycle-link-checklist-v1.md`
- `design/04-tree-domain/process/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/`
### P0.2 local folder no-refresh / restore focus
入口文档:
- `design/04-tree-domain/process/4-34-filetree-trash-dual-browser-no-refresh-v1.md`
- `design/04-tree-domain/process/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` 归档。
## 4. P1:统一工作区身份、BufferStore 和 Page Aggregate
这一步是 MVP 后阶段真正的底座收口。
### P1.1 WorkspacePath / ObjectIdentity
入口文档:
- `design/01-tree-first-graph-kernel/process/1-4-next-phase-execution-roadmap-v1.md`
- `design/01-tree-first-graph-kernel/process/1-5-next-phase-sequential-execution-checklist-v1.md`
- `design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md`
- `design/05-editor-mainline/process/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。
归档条件:
- `5-26` checklist 完成后归档。
- `1-5 / 1-6` 中对应 identity 缺口完成打勾。
### P1.2 DocumentBuffer / BufferStore
入口文档:
- `design/01-tree-first-graph-kernel/process/1-5-next-phase-sequential-execution-checklist-v1.md`
- `design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md`
- `design/05-editor-mainline/process/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 相关项完成。
### P1.3 Page Aggregate compat 瘦身
入口文档:
- `design/05-editor-mainline/process/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/process/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,哪些应退出事实源地位。
验收:
- `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` 三个未完成项完成后归档。
- `5-6` 剩余 Phase G/H 小尾项完成或拆成更小 checklist 后归档。
## 5. P2tree live cache 与 command context
### P2.1 Tree realtime live cache
入口文档:
- `design/03-rust-web/process/3-3-rust-web-tree-realtime-event-stream-v1.md`
- `design/03-rust-web/process/3-1-rust-web-long-term-checklist-v2.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` 中统一 live cache 和 no-refresh 矩阵完成后归档。
### P2.2 Command context / context key
入口文档:
- `design/01-tree-first-graph-kernel/process/1-5-next-phase-sequential-execution-checklist-v1.md`
- `design/04-tree-domain/process/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/process/7-27-online-markdown-writeback-final-content-truth-v2.md`
执行目标:
1. 修正 online / compat `mnote.doc.markdown_edit` 的 final markdown 写回真相。
2. 避免 full_content 和多 operation 场景仍从旧 blocks 二次推导。
3. 保持 local-first 默认编辑仍走 agent 原生 patch/diff,不把 `markdown_edit` 升回默认主路径。
验收:
- `cargo test -p mnote-web hermes_tools -- --test-threads=1`
- 覆盖 full_content、多 op、inline content、selection scope 的回归测试。
归档条件:
- 7-27 的 6 步实施计划完成后归档。
### P3.2 ACP runtime 后续步骤
入口文档:
- `design/07-ai/process/7-15-page-ai-acp-agent-runtime-unified-layer-v1.md`
- `design/07-ai/process/7-12-page-ai-hermes-tool-routing-and-review-surface-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/process/6-mindmap-kernel-phase6-projection-editor-v1.md`
- `design/06-mindmap/process/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/process/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/03-rust-web/reference/3-17-convex-export-web-entry-v1.md`
- CLI 已有迁移闭环;Web 管理入口未排期。
- `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 的边界更薄。
### Batch Dlive cache / command context
1. `3-3`
2. `1-5` command context 子项
3. `4-44` 若 Batch A 未完成则回补
完成后预期:树域实时与 enablement 判断更统一。
### Batch EAI 与资源工具
1. `7-27`
2. `7-15` 后续拆分
3. `7-12` Phase B-F 拆分
4. `7-28` 仅在 mindmap / office AI 明确排期后进入
完成后预期:local-first AI 主路径稳定,cloud/compat 工具不再误导默认路径。
### 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 .`
## 11. 不做事项
- 不按文件编号顺序清空 process。
- 不把 `reference/` 下的资料当作当前实现任务。
- 不因为文档老就移动到 `done/`;必须有真实完成证据。
- 不把 Phase C / Review Mode / cloud sync / sharing future 合同提前实现。
- 不恢复旧 Next / BlockNote / Convex 默认主存储口径。