Files
mnote/.codex/reasonix-tasks/2026-05-25-batch-j-worker-d-3-20-conflict-action.md
T

51 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Reasonix Batch J / Worker D3-20 document conflict action helper 候选
Project root`/mnt/Data1T/mnote-worktrees/0525-j-worker-d-3-20-conflict-action`
## 目标
在独立 worktree 中产出候选 patch:围绕 `document-conflict-panel-runtime.js``web_shell.rs` 的边界继续收口,只允许迁出一个低风险 action/wiring helper。优先选择把冲突按钮 action 的 try/catch、toast、rerender 包装委托给 runtime;业务保存状态机仍留在 `web_shell.rs`
## 允许修改
- `rust/crates/mnote-web/browser/document-conflict-panel-runtime.js`
- `rust/crates/mnote-web/src/routes/web_shell.rs`
必要时只更新同文件现有字符串断言测试。
## 实现要求
- 保持 `acceptDiskVersion(session)``keepCurrentEditorVersion(session)``writeMergedConflictResult(session, value)` 的业务语义在 `web_shell.rs`
- runtime 只做 action wrapper / DOM wiring / 错误 toast 协调,通过 `deps` 注入具体业务函数。
- runtime 不存在时,inline fallback 必须继续执行原实现。
- 若发现当前 HEAD 已有相同 helper 或不宜继续迁出,则输出诊断 patch 或 handoff 说明,不强迁。
## 禁止事项
- 不迁 document session lifecycle。
- 不迁 local upload / filetree / editor island。
- 不修改 AGENTS、设计文档或 bugs 文档。
- 不提交 git,不回滚或清理无关文件。
## 验收命令
```bash
node --check rust/crates/mnote-web/browser/document-conflict-panel-runtime.js
cargo fmt --manifest-path rust/Cargo.toml --all --check
cargo check --manifest-path rust/Cargo.toml -p mnote-web
cargo test --manifest-path rust/Cargo.toml -p mnote-web document_conflict_panel_runtime_contains_dom_helpers -- --test-threads=1
cargo test --manifest-path rust/Cargo.toml -p mnote-web mnote_browser_runtime_assets_are_explicitly_mounted -- --test-threads=1
```
## 输出要求
handoff 必须列出:
- 迁出或不迁出的边界判断。
- 修改文件。
- 委托 deps 清单或阻塞证据。
- 是否保留 fallback。
- 验收命令和结果。
- 未覆盖风险。
- `git diff --stat`