Files
mnote/.codex/reasonix-tasks/results/design-governance-worker-c-05-06-08-09.md
T
lix-2026 1956a8a21a chore: align mvp design governance
- 统一 local-first MVP 后阶段架构口径,补充 process 执行总序和 Reasonix 协作记录

- 归档已完成的 design checklist,标注参考型 process,更新 AGENTS/REASONIX/架构文档

- 补充文件树/主编辑器下载与上下文菜单相关实现、bug 记录和 smoke 脚本

验证:git diff --check;codegraph sync .;cargo test -p mnote-web;node --check scripts/task476-filetree-editor-context-menu-download-smoke.js
2026-05-21 09:04:13 +08:00

255 lines
15 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.
# Design Governance Report — Worker C: 05/06/08/09 Review
> Generated: 2026-05-21
> Scope: `design/05-editor-mainline/process/`, `design/06-mindmap/process/`, `design/08-wolai-aline-test-flow/process/`, `design/09-siyuan-reference/process/`
---
## Executive Summary
Of 22 process documents reviewed:
| Status | Count | Documents |
|--------|-------|-----------|
| archive-done | 10 | 5-15, 5-17, 5-18, 5-19, 5-20, 5-21, 5-22, 5-23, 5-24, 5-25 |
| keep-process | 4 | 5-26, 5-9, 5-6 (partial), 6-mindmap-phase6-leptos-ui-shell-reuse-checklist |
| mark-process-reference | 7 | 5-5, 5-2, 5-7, 5-14, 6-mindmap-leptos-adapter-reference-notes, wolai-aline-test-flow-v1, 9-siyuan-reference |
| needs-human-confirmation | 1 | 5-16 (minor open items, superseded by later docs) |
**Highest risk**: 5-26 remains unexecuted — convergence plan proposed but never landed. 5-9 Phase F (Page Aggregate items) still shows TODO but the work was done in 5-6 checklists (mild stale reference risk). Mindmap `leptos-mindmap` checklist is large and has visual parity items that haven't been systematically closed.
---
## 1. `design/05-editor-mainline/process/` — 18 files
### 5-15 — local-markdown-path-identity-unification-checklist-v1
**建议状态:archive-done**
- **证据**: 所有 P0 (3 items) 和 P1 (1 item) checklist 均已勾选完成。文档末尾 `执行状态(2026-05-19` 列出了所有已完成的验收命令和补充清理(删除 `ParsedLocalMarkdownPage.mnote_id` 字段)。
- **归档原因**: 这是一个单次执行的 checklist,所有目标均已验证通过。后续身份逻辑若有回归需求,可查阅 `done/`
- **补充说明**: 验收命令完整可复现,是存档质量良好的 checklist。
### 5-16 — editor-group-resource-tab-safety-checklist-v1
**建议状态:needs-human-confirmation**
- **证据**: 核心项已完成:resource tab MRU、关闭 guard、`aria-selected`/`tabindex`、task460 smoke。剩余未完成项:正式 `MainEditorTabEntry` 模型(后被 5-18 的状态模型覆盖)、打开失败 placeholder tab(后被 5-18 完整实现)。
- **留存原因**: 未完成的 2 项已被后续 checklists (5-18) 解决,文档本身已无独立未完成工作。
- **建议**: 若确认 5-18 已完全覆盖 placeholder tab 需求,可归档。需人工确认。
### 5-17 — resource-editor-kind-and-smoke-matrix-checklist-v1
**建议状态:archive-done**
- **证据**: 核心项已完成:PDF 独立 badge kind、file fallback badge、smoke 覆盖 markdown/text/code/image/pdf 未知类型。`scripts/task461-resource-kind-smoke.js` 已通过。
- **归档原因**: 未完成项(正式 resolver 抽象、Office DocumentServer 回源、`active-tab/side/new-window` 统一 resolver)已由 5-19 和 5-26 覆盖。本文件是 5-17→5-19→5-26 递进的第一层,已完成的历史阶段。
### 5-18 — main-editor-tab-state-and-error-placeholder-checklist-v1
**建议状态:archive-done**
- **证据**: 所有 checklist 项已勾选。`createResourceSession` 已补 `lastActiveAt``openResourceInActiveTab` 失败时保留 error placeholder tab。`task462` smoke 通过。
- **归档原因**: 未完成项(`lastActiveAt` 未用于排序、dirty guard 无 UI 确认弹窗)属于后续 5-20 的独立主题。本文件闭环了主状态模型和错误占位。
### 5-19 — resource-open-resolver-and-onlyoffice-checklist-v1
**建议状态:archive-done**
- **证据**: 所有 checklist 项已执行。`resolveResourceOpen` 已定义,`buildOnlyOfficeOpenUrl` 已修正回源 URL`task463` smoke 覆盖 docx/pptx/xlsx badge、iframe、new-window。
- **归档原因**: 唯一未完成项——“未验证真实外部 DocumentServer 协同编辑会话”,这属于外部服务可用性测试而非设计执行,不应阻塞归档。
### 5-20 — resource-tab-close-confirm-checklist-v1
**建议状态:archive-done**
- **证据**: 所有 checklist 项已勾选并验证。`showResourceTabCloseGuardNotice` 对 dirty/saving/hasExternalConflict 输出可见提示,`task460` 断言可见提示不堆叠。
- **归档原因**: 单次执行 checklist,已完成闭环。
### 5-21 — editor-tab-url-active-identity-checklist-v1
**建议状态:archive-done**
- **证据**: 所有项已勾选。resource tab 激活写入 `resourceTab=<canonical identity>` URL statefiletree row 设 `data-active=true``task457` 覆盖全路径。
- **归档原因**: 单次执行 checklist,已验证。
### 5-22 — mindmap-main-editor-tab-kind-v1
**建议状态:archive-done**
- **证据**: 所有项已勾选。`kind=mindmap` resource tab 使用 `resource:mindmap:...` identity`task169` 从旧 object shell 口径切到 main editor resource tab 口径。
- **归档原因**: 已执行完成。旧 `task169` realtime 深测被标记为 `retiredRealtimeTopicEditing`,不含未完成工作。
### 5-23 — editor-side-target-secondary-pane-v1
**建议状态:archive-done**
- **证据**: 所有项已勾选。`openResourceAsSideTarget`,资源侧栏目标显示 unsupported placeholder`task472` smoke 通过。
- **归档原因**: 已完成闭环。
### 5-24 — open-editors-lightweight-view-checklist-v1
**建议状态:archive-done**
- **证据**: 所有项已勾选。`mnote.open_editors_snapshot.v1` 已暴露 snapshot 合同。`cargo test -p mnote-web web_shell` 通过。
- **归档原因**: 执行记录清晰,UI 当前阶段保持为可观测模型(无 sidebar UI 新增)。
### 5-25 — editor-tab-keyboard-and-mru-checklist-v1
**建议状态:archive-done**
- **证据**: 所有项已勾选。`bindMainEditorTabStrip()` keyboard roving focus、Enter/Space 激活、关闭后 MRU focus 迁移已实现。`cargo test` 通过。
- **归档原因**: Reasonix Worker B 输出 proposalCodex 实现最小安全集。闭环。
### 5-26 — resource-open-resolver-convergence-checklist-v1
**建议状态:keep-process**
- **证据**: 执行记录明确记载 "Worker C 进程停留在计划提交阶段,没有生成 final.md"。"审查...重复判断" 和 "给出最小收敛方案" 未完成。Checklist 第 4 节 2 个主项未勾选。
- **留存原因**: 仍有收敛正文附件与 FileTree 资源打开策略的实际工作待做。但 5-17/5-19 已完成了第一轮 resolver 建设,5-26 的收敛优先级较低。
- **补充建议**: 可降级为 Low Priority process,或在 next sprint 以 1-2 小时限时任务完成。
### 5-5 — page-aggregate-single-truth-alignment-v1
**建议状态:mark-process-reference**
- **证据**: 这是战略设计文档,非 checklist。定义了 Page Aggregate 的 Phase F-J 方向和长期架构目标。文档末尾明确结论 `leptos-tiptap 主编辑区已基本可用,但页面聚合仍未收口`
- **保留原因**: 作为长期架构参考仍有效。不应归档为 done(聚合未完全闭环),但也不需要作为 process 继续执行(方向已定)。
- **建议补充说明**: 建议在文档头部加注 `参考: 当前执行进度见 5-6`
### 5-6 — page-aggregate-alignment-checklist-v1
**建议状态:keep-process (partial)**
- **证据**: 大部分 Phase (F/G/H/I/J) 已基本完成。仍有较小缺口:Phase G 退出标准第 2 项(新增字段不散落 props)未勾选;Phase H 页面设置分类第 2 项(哪些项降级/隐藏)未勾选。
- **留存原因**: 文档非常大(34KB+),大部分已完成但仍有小缺口。可将这些微小项转到新的浓缩 checklist,或在本文件内更新状态后归档。
- **建议**: 考虑将已完成的 Phase F/G/H/I/J 子项标记 final,剩余的微量工作移至更轻量文档继续。
### 5-2 — tiptap-notion-like-template-adoption-v1
**建议状态:mark-process-reference**
- **证据**: 这不是 checklist,是策略分析文档。结论是 `以后续主编辑器开发继续以 Tiptap 官方能力模型为体验上限...已完成主编辑器接入和 Rust truth 落地`
- **保留原因**: 作为 tiptap 编辑器的设计参考和 P0.5 边界定义仍有价值。不应继续视为 process 执行清单。
### 5-7 — wolai-page-tree-main-editor-experience-restoration-v1
**建议状态:mark-process-reference**
- **证据**: 文档自身已声明执行口径转交 5-9 checklist 和 `wolai-aline` skill。包含大量 Wolai 参考截图路径和差异矩阵,是重要的取证基线。
- **保留原因**: 宝贵的 Wolai 对标取证基线记录和交互合同定义,作为 reference 保留。不应继续作为执行 checklist。
### 5-9 — wolai-aline-continuous-checklist-v1
**建议状态:keep-process**
- **证据**: 这是活跃的 checklist 文档。Phase A-E 大部分项目已完成(GREEN/PARITY),但存在未完成项:
- **A4** (字体栈与基础 token): 仍为 TODO
- **E18** (Clipboard/Paste): 仍为 TODO
- **F1-F5** (Page Aggregate 相关): 仍为 TODO — 但这些在 5-6 中已大部分完成
- Phase `已退役` 段落记录了一些退役项
- **留存原因**: 仍有少量待办项 (A4, E18, F1-F5)。但 F1-F5 的内容实际已在 5-6 中完成,这里存在陈旧风险。
- **建议**: 审查 F1-F5 是否应追认完成或引用 5-6 的进展;A4 和 E18 可考虑转入低优先级或归档。
### 5-14 — zed-lapce-vscode-reference-adoption-matrix-v1
**建议状态:mark-process-reference**
- **证据**: 这是参考采用矩阵设计文档,非 checklist。定义了 Zed/Lapce/VS Code/SideX 各自的参考职责和 P0-P3 实施建议。
- **保留原因**: 作为代码引用架构的权威参考文档很有价值。不应作为执行 checklist,但推荐作为后续 BufferStore、WorkspacePath 等模块设计时的引用入口。
- **补充说明**: 文档质量高、边界清晰,建议在 `done/` 也做一份副本或在 05-mainline README 中交叉引用。
---
## 2. `design/06-mindmap/process/` — 3 files
### 6-mindmap-kernel-phase6-projection-editor-v1
**建议状态:keep-process**
- **证据**: 这是 Phase 6 mindmap 的主架构设计文档。Phase 6.1 (真实 simple-mind-map runtime cutover) 已于 2026-05-10 完成。但文档定义的长期方向(Rust-native engine 路线)仍是未来可选项。
- **留存原因**: 定义了三路线定位和 Rust 内核+KMind-like 编辑器的当前主线。仍有 `10.1 现实复核差距` 中记录的 Phase 6.1 尾项(`view_data_change` 持久化、toolbar zoom 绑定、RichText 插件)。
- **补充说明**: 有 1 份对应的 done checklist (`6-mindmap-phase6-kmind-parity-detail-checklist-v1.md`),建议在 process 文档头部加注引用。
### 6-mindmap-leptos-adapter-reference-notes-v1
**建议状态:mark-process-reference**
- **证据**: 这是审计参考笔记,非执行 checklist。详细记录了 lx-doc/mind-map 的 Vue 组件到 kernel command 的映射,以及历史 React UI 壳的能力清单(8 个表格)。
- **保留原因**: 作为 adapter 实现和命令映射的详细参考,在后续 rust-native UI shell 开发时仍有价值。不应作为执行清单。
### 6-mindmap-phase6-leptos-ui-shell-reuse-checklist-v1
**建议状态:keep-process**
- **证据**: 这是活跃的执行 checklist。Task 1-7 和 Task 8 (Context Menu) 大部分已完成。Task 9 (KMind visual parity) 的 9 个子项中有未封闭的项(node style panel、base style panel 等详细面板界面仍有差距)。
- **留存原因**: 仍有未完成的 visual parity 细节项。KMind 视觉对齐是一个持续的收口过程(对应 `done/` 下的 detail checklist)。
- **补充说明**: 文档很大(43KB+),建议将已完成 Task 移入 `done/`,只保留未完成的 Task 9+ 视觉差异项。
---
## 3. `design/08-wolai-aline-test-flow/process/` — 1 file
### wolai-aline-test-flow-v1
**建议状态:mark-process-reference**
- **证据**: 这是对标测试流程的方法论文档,非 checklist。定义了标准流程(明确小任务→取 Wolai 基线→写 RED smoke→实现→本地验证→subagent 复测→主线程复核)、安全边界、资源路径和 subagent 模板。
- **保留原因**: 作为 Wolai 对标的标准流程参考仍有效。不应归档(仍在持续使用),也不应作为 process checklist(不是执行清单)。
- **补充说明**: 文档质量高,应保持为 process/ 中唯一的流程定义文件。
---
## 4. `design/09-siyuan-reference/process/` — 1 file
### 9-siyuan-reference-boundary-and-adoption-v1
**建议状态:mark-process-reference**
- **证据**: 这是参考边界与采用策略文档,非 checklist。明确区分了思源值得参考的层级(块引用/属性视图/本地工作区心智/导图插件)和不建议照搬的部分(`.sy` 真相层/SQL 主接口/前端运行时)。
- **保留原因**: 作为块式笔记能力参考的权威边界稿很有价值。当前无 process 待办项。
- **补充说明**: 建议在 process 文档头部或设计根目录 README 中交叉引用,让后续设计者知道“思源参考应当落在哪层”。
---
## 5. Cross-Cutting Observations
### 5.1 主要风险
1. **5-26 计划未落地**: 资源打开 resolver 收敛方案由 Worker C 提出但从未实现。这是本次审查中唯一有"提议但未实施"记录的文件。风险较低(基本功能已由 5-17/5-19 覆盖),但历史记录显示有一轮未闭环的工作流。
2. **5-9 F1-F5 陈旧风险**: 5-9 的 F1-F5 (Page Aggregate 相关项) 标记为 TODO,但实际工作在 5-6 中已大部分完成。存在同一工作两处记录不一致的问题。建议审查 5-9 F1-F5 是否应追认或标注 "参见 5-6"。
3. **6-mindmap 视觉差距无限延伸**: `6-mindmap-phase6-leptos-ui-shell-reuse-checklist-v1` 最后阶段(Task 9+)的 KMind visual parity 项目可能变成无限尾随工程。建议明确一个 "足够好" 的退出标准。
### 5.2 建议立即行动项
- 将 5-15/5-17/5-18/5-19/5-20/5-21/5-22/5-23/5-24/5-25 共 10 个文件移至 `done/`
- 将 5-5/5-2/5-7/5-14 标记或移动为 reference/ 类文档(当前 mnote 无统一 reference/ 目录,可另议)
- 为 5-26 决定是否在下一 sprint 收敛或正式废案
- 解决 5-9 F1-F5 的状态不一致问题
- 将 6-mindmap 的 3 个文件在 phase 里程碑间做一次已完成/进行中/参考的切分
### 5.3 无需变更的文档
- `06-mindmap/done/6-mindmap-phase6-kmind-parity-detail-checklist-v1.md` — 已经是正确位置
- `08-wolai-aline-test-flow/process/wolai-aline-test-flow-v1.md` — 保持在 process/ 作为流程定义
- `09-siyuan-reference/process/9-siyuan-reference-boundary-and-adoption-v1.md` — 保持在 process/ 作为参考边界稿
---
## 报告说明
**路径**: `.codex/reasonix-tasks/results/design-governance-worker-c-05-06-08-09.md`
**只读约束**:本文只创建了报告文件,未移动、修改或删除任何 `design/` 文件。上述归档/移动建议需由人工或后续 Worker 执行。
**验证命令**
```bash
# 确认报告文件存在
find .codex/reasonix-tasks/results/ -name '*worker-c*'
# 确认未修改任何设计文件
git diff --stat design/
```