- 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
32 lines
1.1 KiB
Markdown
32 lines
1.1 KiB
Markdown
# 3-19 [process][bug] Reasonix ACP wrapper 调 mnote tool 缺少身份与幂等字段 v1
|
|
|
|
> 发现时间:2026-05-17
|
|
>
|
|
> 状态:`[process]`
|
|
>
|
|
> 关联主线:`03-rust-web`
|
|
|
|
## 1. 问题定义
|
|
|
|
Reasonix ACP wrapper 调用 mnote tool 时只发送 `toolName`、`args`、`workspaceId`,没有传递 `actorId`、`sessionId`、`runId`、`toolCallId`、`traceId`、`dryRun`、`idempotencyKey` 等工具合同字段。
|
|
|
|
## 2. 证据
|
|
|
|
- [reasonix-acp-wrapper.mjs](/mnt/Data1T/mnote/scripts/reasonix-acp-wrapper.mjs:230) 附近构造 `callMnoteTool` 请求体。
|
|
|
|
## 3. 影响
|
|
|
|
- Rust tool executor 难以稳定进行鉴权、审计、追踪和幂等。
|
|
- 写工具可能被拒绝,或在缺少幂等键时产生重复写入风险。
|
|
- Reasonix 与 Hermes 对同一 tool 的调用合同不一致。
|
|
|
|
## 4. 建议修复
|
|
|
|
- wrapper 必须从 ACP run/session 中透传 actor、session、run、toolCall、trace、dryRun、idempotency 字段。
|
|
- 写工具缺失必要字段时应 fail fast。
|
|
- 增加 Reasonix 端到端 smoke,断言请求字段完整。
|
|
|
|
## 5. 状态
|
|
|
|
已确认 wrapper 请求字段不完整,尚未修复。
|