收口 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 .
This commit is contained in:
lix-2026
2026-06-01 09:29:12 +08:00
parent 49a0545148
commit 1882db7681
143 changed files with 29810 additions and 3228 deletions
@@ -0,0 +1,45 @@
# 10-18 design process 状态与入口漂移
## 状态
- 状态:done
- Owner10-review / design governance
- 发现时间:2026-05-31
## 现象
当前 design 主入口和若干 `process/` 文档状态已经与真实口径不一致,容易误导后续 worker 重复执行已完成任务,或从已迁移到 `old/` 的历史文档读取优先级。
## 证据
- `design/README.md` 曾把 `design/01-05-current-priority-overview.md` 写成当前优先级入口,但实际文件已在 `design/old/01-05-current-priority-overview.md`
- `design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md` 曾在上位依据中引用同一个已迁移文件,并仍引用已归档的 `3-3` / `3-18` 作为 active process 入口。
- `design/03-rust-web/process/3-24-global-content-type-page-width-settings-v1.md` checklist 全部完成,曾仍位于 `process/`2026-05-31 已迁入 `design/03-rust-web/done/`
- `design/05-editor-mainline/process/5-31-page-settings-sqlite-preference-convergence-v1.md` 已记录 Phase A/B/C/D 最小闭环完成,但末尾推荐仍建议从 Phase A/B 开始;2026-05-31 已迁入 `design/05-editor-mainline/done/`
- `design/05-editor-mainline/process/5-32-filetree-lazy-loading-sidex-alignment-v1.md` checklist 和验证记录已完成;2026-05-31 已迁入 `design/05-editor-mainline/done/`
- `design/07-ai/process/7-37-claudecode-reasonix-worker-evaluation-0524-bug2-v1.md` 是 worker 评估材料,不是 active implementation checklist2026-05-31 已迁入 `design/07-ai/reference/`
- `design/07-ai/process/7-41-page-ai-hermes-reasonix-user-profile-isolation-v2.md` 文件头状态为 `done`,但仍在 `process/`2026-06-01 已迁入 `design/07-ai/done/``design/10-review/process/17-sidex-mnote-workbench-gap-execution-checklist-v1.md` 曾有同类漂移,2026-05-31 已迁入 `design/10-review/done/`
## 影响
- 后续 agent 可能按旧入口恢复过时优先级。
- 已完成设计继续占用 active process 队列,导致任务拆分噪声。
- process/done 目录语义被削弱,bug 和设计治理难以闭环。
## 修复建议
1. 已先修正 `design/README.md``1-8` 的失效入口。
2. 下一步逐个迁移或拆分状态漂移文档:
- `3-24` 已迁入 `03-rust-web/done/`Mindmap 真实消费另拆 follow-up。
- `5-31` 已迁入 `05-editor-mainline/done/`,剩余风险另拆。
- `5-32` 已迁入 `05-editor-mainline/done/`
- `5-33` 拆成已完成核心和 breadcrumb/fetch guard follow-up。
- `7-37` 已迁入 `07-ai/reference/`
- `7-41` 已迁入 `07-ai/done/`
- `17` 已迁入 `10-review/done/`
## 验收
- [x] `find design -path '*/process/*' -type f ! -path 'design/old/*'` 中不再出现文件头状态为 `done` 的文档。
- [x] `rg -n "design/01-05-current-priority-overview.md" design/README.md design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md` 无 active 入口引用。
- [x] 每个保留在 `process/` 的文档都有未完成 checklist、owner 和验收条件;`5-33` 仍保留在 `process/` 是因为 breadcrumb/fetch guard 等 follow-up 未完成。
@@ -0,0 +1,43 @@
# 10-19 AGENTS.md 架构参考路径断裂
## 状态
- 状态:done
- Owner10-review / AGENTS 协作规则
- 发现时间:2026-05-31
## 现象
发现时,`AGENTS.md` 的“需要架构判断时,优先参考”列表中有两个路径已经断裂。因为 `AGENTS.md` 是 agent 的顶层协作规则,这类失效引用会直接误导后续任务启动时的架构判断。
## 证据
- 发现时,`AGENTS.md` 仍引用 `/mnt/Data1T/mnote/design/01-05-current-priority-overview.md`,但该文件实际位于 `design/old/01-05-current-priority-overview.md`,根路径不存在。
- 发现时,`AGENTS.md` 仍引用 `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/process/1-tree-first-graph-kernel-v1.md`,但实际文件位于 `design/01-tree-first-graph-kernel/reference/1-tree-first-graph-kernel-v1.md`
- 本轮已更新 `design/README.md``1-8``AGENTS.md` 的 active 入口。
## 影响
- 后续 agent 按 `AGENTS.md` 查架构依据时会遇到文件不存在。
- worker 可能因此退回旧记忆或自己猜测口径。
- `01-05` 已迁入 `old/` 但仍被当作当前入口,削弱 `design/README.md``1-8` 的入口权威。
## 修复建议
修复方式:
-`01-05-current-priority-overview.md` 替换为 `CURRENT_ARCHITECTURE.md``design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md`
-`process/1-tree-first-graph-kernel-v1.md` 改为 `reference/1-tree-first-graph-kernel-v1.md`,或删除该历史参考入口。
## 本轮进展
- 2026-05-31:用户设置的 P0 goal 已明确包含 `AGENTS/design 断裂引用`,本轮已更新 `AGENTS.md`
- 新增 `CURRENT_ARCHITECTURE.md`
- 新增 `design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md`
-`1-tree-first-graph-kernel-v1.md` 指向 `reference/`
- 移除已不存在的 root `design/01-05-current-priority-overview.md` 引用。
## 验收
- `test -f` 验证 `AGENTS.md` 中列出的每个绝对路径都存在。
- `rg -n "design/01-05-current-priority-overview.md|process/1-tree-first-graph-kernel-v1.md" AGENTS.md` 不再命中 active 断裂引用。
@@ -0,0 +1,49 @@
# 10-20 新增 smoke 未及时进入 TESTING_REFERENCE
## 状态
- 状态:done
- Owner10-review / smoke governance
- 发现时间:2026-05-31
## 现象
近期新增的 Page AI / mindmap / ChatOnly smoke 未及时进入 `scripts/TESTING_REFERENCE.md`。该文件是当前 smoke 分类与默认基线的权威入口,缺失会导致新增能力线没有明确验证入口。
## 证据
本轮发现时,`scripts/TESTING_REFERENCE.md` 未收录:
- `scripts/task503-mindmap-skill-capability-smoke.js`
- `scripts/task504-page-ai-history-agent-filter-smoke.js`
- `scripts/task512-chatonly-doubao-sync-smoke.js`
- `scripts/task513-chatonly-provider-sync-smoke.js`
## 本轮处理
已把上述 smoke 补入 `scripts/TESTING_REFERENCE.md`
- `task503` 归入资源对象与 mindmap / Page AI mindmap skill。
- `task504` 归入 Page AI history / agent filter。
- `task512``task513` 归入 ChatOnly / provider session 绑定。
- 另补入本轮新增的 `task514-sidebar-dev-hot-reload-gating-smoke.js``task515-onlyoffice-live-scope-http-smoke.js``task516-onlyoffice-bridge-multisession-browser-smoke.js`
## 剩余问题
本轮已实跑:
- `node scripts/task503-mindmap-skill-capability-smoke.js`
- `node scripts/task504-page-ai-history-agent-filter-smoke.js`
- `node scripts/task512-chatonly-doubao-sync-smoke.js`
- `node scripts/task514-sidebar-dev-hot-reload-gating-smoke.js`
- `node scripts/task515-onlyoffice-live-scope-http-smoke.js`
- `node scripts/task516-onlyoffice-bridge-multisession-browser-smoke.js`
- `node scripts/task513-chatonly-provider-sync-smoke.js deepseek`
- `node scripts/task513-chatonly-provider-sync-smoke.js gemini`
当前 smoke reference 缺项已补齐并实跑。后续若新增 smoke,需要继续按本文件规则同步 `scripts/TESTING_REFERENCE.md`
## 验收
- `rg -n "task503|task504-page-ai-history|task512|task513" scripts/TESTING_REFERENCE.md` 能命中新条目。
- `task513-chatonly-provider-sync-smoke.js deepseek``task513-chatonly-provider-sync-smoke.js gemini` 已实跑通过,并已写回 `design/07-ai/done/7-44-chatonly-doubao-session-binding-v1.md`
@@ -0,0 +1,39 @@
# 10-21 design done 文件头状态漂移
## 状态
- 状态:done
- Owner10-review / design governance
- 发现时间:2026-06-01
## 现象
部分已经位于 `design/**/done/` 的设计稿,文件头仍保留 `process` / `PROCESS` 状态。后续 agent 或脚本如果只读文件头而不看目录状态,容易把已归档文档误判为 active process。
## 证据
- `design/07-ai/done/7-42-page-ai-mindmap-skill-and-resource-generation-v1.md` 位于 `done/`,但文件头仍写 `状态:process`
- `design/05-editor-mainline/done/5-31-page-settings-sqlite-preference-convergence-v1.md` 位于 `done/`,但文件头仍写 `状态:process`
- `design/05-editor-mainline/done/5-32-filetree-lazy-loading-sidex-alignment-v1.md` 位于 `done/`,但文件头仍写 `状态:process`
- `design/04-tree-domain/done/4-49-local-file-operation-event-contract-v1.md` 位于 `done/`,但文件头仍写 `状态:process`
## 影响
- 设计治理扫描和 worker 任务拆分可能重复打开已完成文档。
- `process/``done/` 的事实源边界被削弱。
## 下一步
1. 扫描 `design/**/done/*.md` 中的文件头状态字段。
2. 将已经归档且证据充分的文档头部状态统一改为 `done`
3. 对确实仍有未完成项的文档,不留在 `done/` 中混用;应拆 follow-up 到 `process/`
## 验收
- [x] `design/**/done/*.md` 中不再出现文件头 `状态:process` / `当前状态:PROCESS`
- [x] 若存在例外,必须在文档头部说明其为历史快照而非 active process。
## 2026-06-01 修复记录
- 已将当前扫描命中的 `design/**/done/*.md` 文件头状态统一改为 `done` / `DONE`
- 已验证:`rg -n '^> (当前状态|状态)`?(PROCESS|process)' design/*/done design/old/*/done -g '*.md'` 无结果。
@@ -0,0 +1,38 @@
# 10-22 done bug 文档残留过时 follow-up 文案
## 状态
- 状态:done
- Owner10-review / bugs governance
- 发现时间:2026-06-01
## 现象
部分已经位于 `bugs/**/done/` 的 bug 文档仍保留过时的“仍缺 / 待复测”文案,而同文档或后续 bug 已经补充了完成证据。这会让 reviewer 误判 done 条目仍未完成。
## 证据
- `bugs/07-ai/done/7-52-page-ai-target-picker-resource-target-gap-v1.md` 仍写“仍缺真实 mindmap resource tab 自动打开后的 UI 级 contextRefs 复测”,但后续 `task525-page-ai-mindmap-resource-target-smoke.js` 已覆盖 mindmap resource target。
- `bugs/07-ai/done/7-53-page-ai-runtime-split-threshold-triggered-v1.md` 的主 bug 已完成拆分阈值,但残留 stop/close smoke `[~]` 项;该缺口已拆为 `bugs/07-ai/process/7-56-page-ai-runtime-stop-close-smoke-gap-v1.md` 后,应避免继续让 `7-53` 看起来未完成。
## 影响
- `done/` bug 的完成边界不清晰。
- 后续 agent 容易重复寻找已覆盖缺口,或者把独立 follow-up 误认为原 bug 未完成。
## 下一步
1. 扫描近期 `bugs/**/done/*.md`,把已被后续 smoke 覆盖的旧 follow-up 文案改成完成记录。
2. 对仍未完成的尾项,拆到独立 `bugs/**/process/`,并在原 done 文档写明“尾项已拆出”。
3. 不改变 bug 事实源:没有真实验证的项不得从文案中删除,只能拆出跟踪。
## 验收
- [x] `7-52` 中 mindmap resource tab 复测口径与 `task525` 证据一致。
- [x] `7-53` 中 stop/close 缺口指向 `7-56`,主拆分 bug 保持 done。
- [x] `git diff --check` 通过。
## 2026-06-01 修复记录
- `7-52` 已改为记录 `task525-page-ai-mindmap-resource-target-smoke.js` 覆盖真实 mindmap resource tab target / contextRefs 复测。
- `7-53` 已把停止/关闭完整断言尾项拆到 `bugs/07-ai/process/7-56-page-ai-runtime-stop-close-smoke-gap-v1.md`,主拆分阈值 bug 保持 done。