- add npm dev:hot wrapper using cargo-watch and page reload polling - add mnote-web dev hot reload endpoint and coverage - record current architecture review and tracked bug findings across realtime, tree, editor, and AI runtimes Verification: - node scripts/task-dev-hot-plan-test.js - node --check scripts/dev-hot.js - cargo test -p mnote-web dev_hot -- --nocapture
1.3 KiB
1.3 KiB
7-21 [process][bug] mnote.doc.markdown_edit 本地文件写入绕过 dryRun / idempotency v1
发现时间:2026-05-17
状态:
[process]关联主线:
07-ai
1. 问题定义
mnote.doc.markdown_edit 的本地文件分支没有调用统一写入合同校验,也没有检查 dryRun 与 idempotencyKey,在匹配成功后直接 fs::write。
2. 证据
- doc.rs 进入
doc_markdown_edit后没有先调用ensure_write_contract。 - doc.rs 注释说明本地文件直接写回。
- doc.rs 对本地路径执行
fs::write。
3. 影响
dryRun=true时也可能落盘,违反工具预览语义。- 缺少幂等键会让重试请求重复写入,尤其是 ACP / Hermes 断线重试场景。
- 本地
.md与在线 Convex 文档的写入安全级别不一致。
4. 建议修复
- 在
doc_markdown_edit写入前统一调用ensure_write_contract。 - 对
dryRun=true返回 diff / preview,不落盘。 - 增加本地
.mddryRun 单测,断言文件内容不变。
5. 状态
已确认源码层缺陷,尚未修复。