9be673513e
上一笔把 sourceActionId 追加进 file.read 的 observation detail,同时砍掉了 agent.action_history。但 file.read 的 detail 在投影给模型和事件流之前会被换成 durable receipt 的 safe_detail(只有 path / contentSha256 / lines 三个字段), 追加的字段根本到不了模型手里。 于是 run 22 变成:模型照着新指令满世界找 sourceActionId,一次也没看到; agent.action_history 又已经被拿掉,它没有任何途径取得 actionId,只能猜;猜错被 acceptance_update 拒,然后判断"此前回执中的读取动作未被验收持久层接受",重读全文 再猜。29 轮里 28 次 file.read(全是同一页 1-132)、5 次 acceptance_update、3 次拒绝。 summary 是原样保留到模型和事件流的(日志里 `|` 左边那句就是 observe_agent_runtime_file 构造的原文),也没有任何解析方依赖它的形状。改成写在 summary 末尾。用例同步改成断言 summary 带 id、detail 保持原样。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>