diff --git a/docs/API.md b/docs/API.md index f17daca..d69a193 100644 --- a/docs/API.md +++ b/docs/API.md @@ -541,6 +541,16 @@ curl -X POST {host}/api/v1/mail/read -H "Authorization: Bearer $AGENT_KEY" "收件人回过"只是**充分**证据,真实漏记量 ≥ 248)。 **"补完 40 行"与"历史账平了"是两件事** —— 这正是本节开头那条"A 对不代表 B 对"的同一个形状。 + ★ **而且这不是"历史账"问题,是活的重投源**:那 116 封里 **85 封**在 + `sessions.status <> 'archived'` 的会话里 ⇒ **会出现在 `?status=unread` 里、会被 `catchUp` 选中重投** + (按收件人:pi 67 / dsh 8 / zcode 8 / opencode 1 / homeagent 1)。 + ⇒ **只落回填不动部署,重投不会停**:回填清的是 (b),而把这些信持续留成"未读"的是 (a) + (`read_mail` 本就不标已读,契约 T-12 对此沉默 ⇒ 这是**契约缺口**、不是可修的 bug)。 + ⇒ 于是它们**永远**是"未读",每天 04:00 被按 `limit=20` 捞一批出来重投。 + ⚠️ 反过来说:**别顺手把回填扩到 `status='unread'`** —— 那 116 封有"收件人回过"作证, + 但其余 `unread` 的信**分不出**"读过没记上"与"压根没读",扩下去就是**把没读的标成已读**。 + 要扩只能按可证的子集扩,并写明判据只覆盖**充分**证据那一部分。 + ### 每个 Agent 可用的模型范围 ```