Files
mnote/.codex/reasonix-tasks/2026-05-21-batch-e-worker-b-bufferstore-conflict-ui.md
T

2.1 KiB
Raw Blame History

Reasonix Worker BBufferStore conflict UI 数据源

Project root: /mnt/Data1T/mnote

你不是唯一 worker。不要回滚、覆盖或整理他人改动;只处理本任务 ownership 范围。

背景

上位 checklistdesign/01-tree-first-graph-kernel/process/1-12-batch-e-p1-p2-tail-execution-checklist-v1.md

1-6 Gap A2 中 BufferStore 基础设施和保存后刷新读回已完成,但 conflict UI 数据源尚未接入 buffer state。当前 conflict UI 已存在,task451-local-markdown-conflict-resolution-ui-smoke.js 能验证 accept disk / keep current / merge,但文档仍指出它主要靠 session/local state。

Ownership

允许修改:

  • design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md
  • rust/crates/mnote-web/src/document_buffer_store.rs
  • rust/crates/mnote-web/src/routes/documents.rs
  • rust/crates/mnote-web/src/routes/web_shell.rs
  • scripts/task451-local-markdown-conflict-resolution-ui-smoke.js

禁止修改:

  • GFM parser 代码
  • FileTree action / command context 代码
  • AI / Hermes / OnlyOffice 文件
  • git commit、git reset、git checkout

任务

  1. 审查 BufferStore 当前 API 与 conflict UI 事件链。
  2. 为当前打开文档暴露最小 buffer state 查询能力,或把已有 Page Aggregate / session conflict envelope 明确桥接到 BufferStore 状态。
  3. conflict UI 应可验证 editor base version、disk/current version、source actor 或等价字段来自 buffer state / conflict envelope,不是临时纯前端猜测。
  4. 保持 task451 三条交互不回退;必要时扩展该 smoke 读取新的 DOM/data 属性。
  5. 更新 1-6 Gap A2 记录,不把未覆盖项标完成。

验收命令

  • cargo test -p mnote-web document_buffer -- --test-threads=1
  • cargo test -p mnote-web local_folder -- --test-threads=1
  • PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/google-chrome-stable node scripts/task451-local-markdown-conflict-resolution-ui-smoke.js

最终回复

请列出:

  • 修改文件
  • 运行的命令和结果
  • 未完成项
  • 风险或需要 Codex 再判断的点