# Reasonix Worker B:BufferStore conflict UI 数据源 Project root: `/mnt/Data1T/mnote` 你不是唯一 worker。不要回滚、覆盖或整理他人改动;只处理本任务 ownership 范围。 ## 背景 上位 checklist:`design/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 再判断的点