Files
mnote/design/old/01-tree-first-graph-kernel/done/1-10-batch-c-p1-resource-buffer-gfm-convex-checklist-v1.md
T

106 lines
5.6 KiB
Markdown
Raw Normal View History

# [recycle] 1-10 [done] Batch C P1 Resource / BufferStore / GFM / Convex Evidence Checklist v1
2026-05-21 13:28:23 +08:00
> 创建时间:2026-05-21
>
> 上位入口:`design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md`
>
> 阶段:Batch C / P1 小尾项收口
>
2026-05-21 23:53:39 +08:00
> 当前状态:`DONE`
2026-05-21 13:28:23 +08:00
## 1. 目标
在 Batch B 已完成 baseline smoke 复核后,继续处理 P1 中仍会干扰后续判断的尾项:
1. `5-26` resource open resolver 仍未实际收敛。
2. `1-6` Gap A2 保存后刷新可见读回需要以真实 smoke 复核。
3. `3-13` GFM AST 迁移仍有若干可小步关闭的测试 / 过渡标记尾项。
4. `1-6` Gap C1 Convex export dry-run / conflict / rollback 仍缺独立 smoke 证据。
本批次不扩新产品面,不改 OnlyOffice 保存链路,不把 `documents/save` 重新升级为 local-first 长期正文入口。
## 2. Reasonix Worker 拆分
### Worker Aresource open resolver 最小收敛
Owner
- `design/05-editor-mainline/process/5-26-resource-open-resolver-convergence-checklist-v1.md`
- `rust/crates/mnote-web/src/ssr/pages/layout.rs`
- `scripts/task463-onlyoffice-resolver-smoke.js`
目标:
- 审查并最小收敛 `buildLocalOnlyOfficeOpenUrl``openEditorAttachmentEditTab``openEditorAttachmentNewWindow``openConvexAssetFromFileTree``resolveResourceOpen` 的重复 local Office / resource open 判断。
- 若能安全实现,只改 `layout.rs``task463`
- 必须保持:正文附件“弹窗编辑”进 main resource tab,“新窗口编辑”进浏览器窗口,md/text/code 继续走 tiptap/text/code 渲染路径。
验收:
- `cargo test --manifest-path rust/Cargo.toml -p mnote-web sidebar_tree_runtime_opens_office_assets_through_resource_shell -- --test-threads=1`
- `node --check scripts/task463-onlyoffice-resolver-smoke.js`
- 如 smoke 可运行,执行 `node scripts/task463-onlyoffice-resolver-smoke.js`
### Worker BGFM AST 尾项小包
Owner
2026-05-21 23:53:39 +08:00
- `design/03-rust-web/done/3-13-rust-web-local-markdown-gfm-ast-parser-migration-v1.md`
2026-05-21 13:28:23 +08:00
- `rust/crates/mnote-web/src/routes/local_folder_source.rs`
- `rust/crates/mnote-web/src/routes/web_shell.rs`
目标:
- 补充或追认 GFM AST 尾项中低风险项:空表格单元格 / 降级策略测试、legacy->Tiptap marks 验证测试、写侧手写 Markdown 函数过渡标记。
- 不修复 frontmatter title 优先级;该项是单独行为变更,保留给后续专项。
- 不移除 web_shell legacy 适配分支,只允许加过渡注释或测试。
验收:
- `cargo test --manifest-path rust/Cargo.toml -p mnote-web local_markdown -- --test-threads=1`
- `cargo test --manifest-path rust/Cargo.toml -p mnote-web web_shell -- --test-threads=1`
### Worker CConvex export 产品化补 smoke
Owner
- `design/01-tree-first-graph-kernel/done/1-6-next-phase-gap-closure-checklist-v1.md`
2026-05-21 13:28:23 +08:00
- `scripts/task444-convex-workspace-export-local-fixture-smoke.js`
- 可新增 `scripts/task48*-convex-export-*.js`
目标:
- 为 C1 已有能力补 smoke:dry-run 不写文件、同名冲突不覆盖、rollback 恢复导出前状态。
- 不修改 Convex runtime,不改 local-first 架构口径。
- 优先复用现有 fixture/export 脚本,新增脚本要可离线运行。
验收:
- `node --check scripts/task444-convex-workspace-export-local-fixture-smoke.js`
- `node scripts/task444-convex-workspace-export-local-fixture-smoke.js`
- 新增 smoke 的 `node --check` 与实跑通过。
## 3. Codex 本地关键路径
Codex 同步处理:
- A2 保存后刷新可见读回:复现 `POST /api/page-body/write` 后刷新 editor DOM 不显示正文的问题,判断是过期证据、hydration 问题,还是当前真实回归。
- 若是 smoke 缺失,补最小 browser smoke;若是真回归,优先修复 web shell / aggregate bootstrap。
## 4. 完成条件
- Reasonix worker 均有 `final.md` / `result.json` 或明确 `TIMEOUT` 记录。
- Codex 独立审查 diff,不直接相信 worker 总结。
- 相关 targeted tests 与 browser smoke 实跑通过或形成明确 bug。
- `1-6``1-9``3-13``5-26` 文档状态更新。
- 提交前运行 `codegraph sync .``codegraph status``git diff --check`
## 5. 本轮执行记录
- 2026-05-21Codex 建立 Batch C checklist,准备派发 Worker A/B/C,并本地排查 A2 刷新读回。
- 2026-05-21Codex):新增并实跑 `task484-local-folder-page-body-refresh-readback-smoke.js`,验证 `POST /api/page-body/write` 后磁盘、Page Aggregate、刷新后 ProseMirror 均读回新正文;`1-6` Gap A2 浏览器可见读回改判为完成,剩余仅为 conflict UI 数据源接 BufferStore。
- 2026-05-21Reasonix Batch C Worker A):worker 只提交 resource resolver 收敛计划,未生成 `final.md` / `result.json`,无业务代码 diff;记录为 `PLAN_ONLY_TIMEOUT``5-26` 保持 `process`。结果文件:`.codex/reasonix-tasks/results/batch-c-worker-a-resource-open-resolver-timeout.md`
- 2026-05-21Reasonix Batch C Worker B):完成 GFM AST 尾项小包,补空引用块 / 空表格单元格测试、web_shell marks 断言、写侧 Markdown 过渡注释,并更新 `3-13`;结果文件:`.codex/reasonix-tasks/results/batch-c-worker-b-gfm-tail.md`
- 2026-05-21Reasonix Batch C Worker C):`task455-convex-export-plan-rollback-smoke.js` 实跑通过,覆盖 dry-run/conflict/rollback 三个行为,`1-6` Gap C1 已可视为完成。结果文件:`.codex/reasonix-tasks/results/batch-c-worker-c-convex-export-smokes.md`
2026-05-21 23:53:39 +08:00
- 2026-05-21Codex Batch F 追认):`3-13` 已移动到 `design/03-rust-web/done/`,本文作为 Batch C 执行记录不再保持活跃 process。