5.4 KiB
5.4 KiB
1-10 [process] Batch C P1 Resource / BufferStore / GFM / Convex Evidence Checklist v1
创建时间:2026-05-21
上位入口:
design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md阶段:Batch C / P1 小尾项收口
当前状态:
PROCESS
1. 目标
在 Batch B 已完成 baseline smoke 复核后,继续处理 P1 中仍会干扰后续判断的尾项:
5-26resource open resolver 仍未实际收敛。1-6Gap A2 保存后刷新可见读回需要以真实 smoke 复核。3-13GFM AST 迁移仍有若干可小步关闭的测试 / 过渡标记尾项。1-6Gap C1 Convex export dry-run / conflict / rollback 仍缺独立 smoke 证据。
本批次不扩新产品面,不改 OnlyOffice 保存链路,不把 documents/save 重新升级为 local-first 长期正文入口。
2. Reasonix Worker 拆分
Worker A:resource open resolver 最小收敛
Owner:
design/05-editor-mainline/process/5-26-resource-open-resolver-convergence-checklist-v1.mdrust/crates/mnote-web/src/ssr/pages/layout.rsscripts/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=1node --check scripts/task463-onlyoffice-resolver-smoke.js- 如 smoke 可运行,执行
node scripts/task463-onlyoffice-resolver-smoke.js
Worker B:GFM AST 尾项小包
Owner:
design/03-rust-web/process/3-13-rust-web-local-markdown-gfm-ast-parser-migration-v1.mdrust/crates/mnote-web/src/routes/local_folder_source.rsrust/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=1cargo test --manifest-path rust/Cargo.toml -p mnote-web web_shell -- --test-threads=1
Worker C:Convex export 产品化补 smoke
Owner:
design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.mdscripts/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.jsnode 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-21:Codex 建立 Batch C checklist,准备派发 Worker A/B/C,并本地排查 A2 刷新读回。
- 2026-05-21(Codex):新增并实跑
task484-local-folder-page-body-refresh-readback-smoke.js,验证POST /api/page-body/write后磁盘、Page Aggregate、刷新后 ProseMirror 均读回新正文;1-6Gap A2 浏览器可见读回改判为完成,剩余仅为 conflict UI 数据源接 BufferStore。 - 2026-05-21(Reasonix 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-21(Reasonix 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-21(Reasonix Batch C Worker C):
task455-convex-export-plan-rollback-smoke.js实跑通过,覆盖 dry-run/conflict/rollback 三个行为,1-6Gap C1 已可视为完成。结果文件:.codex/reasonix-tasks/results/batch-c-worker-c-convex-export-smokes.md。