docs: roadmap 补全 XAUTOCLAIM 阈值公式因子,AGENTS 文档基线 bump

- roadmap.md:26「超时预算 × 安全系数 × 批大小」→ 写全真实公式
  (max_retries+1) × (jmap+telegram+llm 超时) × 2 × 批大小,并注明 300s 下限 /
  6h 上限与 reference.md §6.3 交叉引用;原来的压缩写法漏了 attempts 因子
- AGENTS.md 版本基线:文档 399b269(⑤)→ c746ead(锚点核验基线);代码仍 bfe0fd8。
  本次改动仅触两处文档文字、未引入任何新行号锚点,故 c746ead 仍是有效的
  锚点核验基线
- design.md §10.5 历史已修复清单里的「XAUTOCLAIM 空闲阈值按批大小缩放」按原样
  保留:它是当时的真实状态,非当前状态,不改写历史条目
This commit is contained in:
anonsaber 2026-09-28 21:49:31 +08:00
parent c746ead184
commit c2f6f32093
2 changed files with 6 additions and 4 deletions

View File

@ -8,9 +8,11 @@
>
> **跨文档引用一律用稳定 ID**(`C-` / `NG-` / `MOD-` / `FLOW-` / `REQ-` 等),**不用章节号(§x.y)**;定义点位置与一句话说明见 [§7 跨文档引用索引](#7-跨文档引用索引表)。
>
> **版本基线 v3(2026-09-26,本轮 ④+⑤,代码随 ⑥ 推进):代码 `bfe0fd8`,文档 `399b269`(⑤ 收口)。**
> 本轮新增 `src/debug.rs` 远程联调面与 6 个 `*DEBUG*` ID(§2 第 19 条、§5 测试清单、§7 六行),文档侧同步落位
> `docs/deployment.md` §2.1、`docs/reference.md` §3/§4、`README` 中英双版;各文档的行号锚点以该基线为准,代码变动后须同步重锚。
> **版本基线 v3(2026-09-26):代码 `bfe0fd8`(⑥-a/b/c 收口),文档 `c746ead`(锚点核验基线)。**
> ④ 新增 `src/debug.rs` 远程联调面与 6 个 `*DEBUG*` ID(§2 第 19 条、§5 测试清单、§7 六行),文档侧同步落位
> `docs/deployment.md` §2.1、`docs/reference.md` §3/§4、`README` 中英双版;⑥ 落地 `/search` 与两项可靠性修复,
> `docs/design.md` §5.7、`docs/reference.md` §6.3/§6.4、`docs/roadmap.md` 代码缺口区同步更新。
> 各文档的行号锚点以代码 `bfe0fd8` 为准,代码变动后须同步重锚。
---

View File

@ -23,7 +23,7 @@
- **`/search` + `SearchSnippet/get` 高亮(已完成,`bfe0fd8`)** — `Intent::Search` 变体 + `JmapService::search_emails`(`email_query`(`Filter::text`) 取 ID + `SearchSnippet/get` 取高亮);高亮经 `strip_mark_tags`/`unescape_html_entities` 渲染成 Telegram 纯文本;snippet 不支持时降级为纯 ID 列表;`subject`/`preview` 有 120/160 字符截断上限;每条命中带 `email_id` 可直接接 `/summary`。设计见 `docs/design.md` §2.3、§3.2、§5.7。
- **Telegram 429 退避(已完成,`f4cae00`)** — `src/channel.rs` 的 `max_retries`(默认 3,硬上限 5)现在按 429 的 `Retry-After` 退避,缺该头时指数退避。
- **多实例重复投递窗口(已完成,`6c99ce5`)** — XAUTOCLAIM 空闲阈值不再按固定 300s 单条上限缩放,改为按运行配置推导(超时预算 × 安全系数 × 批大小),单实例与多实例部署下的提前认领窗口关闭。
- **多实例重复投递窗口(已完成,`6c99ce5`)** — XAUTOCLAIM 空闲阈值不再按固定 300s 单条上限缩放,改为按运行配置推导:`(max_retries + 1) × (jmap + telegram + llm 超时) × 2` 为单条上限、再乘批大小,下限 300s、上限 6h(完整公式见 `docs/reference.md` §6.3)。单实例与多实例部署下的提前认领窗口关闭。
- **`/debug/notify` 空白名单不拦截**(`SAF-DEBUG-ALLOWLIST`)— 白名单校验只在白名单**非空**时才生效(`src/debug.rs:232-235`),因此业务白名单未配置时 `chat_id` 可为任意值。**已定位、已文档化、本轮不改代码**:该面默认关闭且需 Bearer,且业务白名单为空时主产品本身即接受任意 chat,沿用同一语义不构成额外泄露面。若日后要收紧,需把语义改为「空白名单则拒绝」,并补单元测试、跑 `GATE-P0`。
## 验收待办