52 lines
2.1 KiB
Markdown
52 lines
2.1 KiB
Markdown
# 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 再判断的点
|