# R13.2 任务报告

## 结果

- 使用 PK01 Sub2API 原生后端聚合最近 8 小时所有分组：7105 个请求，68 个客户错误（0.96%），356 个上游错误（5.01%）。
- 盈利池 3099 个请求、38 个客户错误（1.10%）；自用池 4000 个请求、29 个客户错误（0.38%）；grok 仅 6 个请求，样本不足。
- 盈利池客户错误主因是未配置模型：`glm-5.2` 13 次、`qwen3.7-plus` 2 次；这类错误不归因上游账号、不扣账号分，也不做错误模型映射。
- 自用池错误主要来自正式 monitor 的模型能力探测，已纳入运维错误，但与外部客户最终错误分开展示。

## Priority 调优

所有变更均通过精准 runtime CRUD 执行，先 dry-run，再 confirm，并由 CLI 自动回读；`priority` 数值越小越高。

- `#37 https://www.xiaobaishu.org plus 0.02`：20 调到 8。
- `#39 https://www.xiaobaishu.org pro 0.02`：20 调到 8。
- `#35 https://api.recurdream.com plus 0.02`：20 调到 30；8 小时内可归因失败率 5.88%，出现并发限制、临时不可用和 HTTP 200 后流式失败。
- `#32 https://sub2.pokexiao.com pro 0.05`：5 调到 10；可靠性良好，但成本高于同层 0.02/0.03 账号。
- `#40 https://xixiapi.cc plus 0.02`：2 调到 10；当前余额不足，恢复后以保守优先级重新试水。
- `#41 https://xixiapi.cc pro 0.1`：8 调到 40；当前余额不足且采购倍率 0.1，没有盈利空间。
- 六项写入均成功，最终自动回读 `mismatched=0`。
- `lyon9801 0.0` 保持 priority 1 和既有周限保护，不增加通用临时不可调度规则。

## Capacity 错误拦截

- `Selected model is at capacity. Please try a different model.` 已在既往官方源码调查中确认是真实 HTTP 400 上游错误。
- Sub2API `0.1.159` 在响应正文提交前会把该错误转为 `UpstreamFailoverError`，排除失败账号并重新选号；HTTP 200 SSE 在尚未向客户提交正文前收到相同 `response.failed` 也可切号。
- owning YAML 的 `codex-upstream-failover` 模板已包含 HTTP 400 精确关键词 `selected model is at capacity`，冷却 1 分钟。
- 本次运行时批量 dry-run 对账覆盖 12 个非 lyon API-key 账号：全部 9 条规则一致、`changed=0`；lyon 明确排除。
- 该模板用于冷却失败账号并避免后续请求立即重选。若上游已向客户输出真实正文后才报错，当前流不能安全重放，只能记录为流式 degraded；配置无法无损挽救这种已提交响应。

## 短窗口复核

- 最近 30 分钟所有分组：295 个请求、5 个客户错误、2 个上游错误。
- 盈利池 4 个客户错误全部是 `glm-5.2` 无任何组内账号支持的 404，没有 capacity、临时不可调度、failover 失败、选号失败或 `forward_200`。
- 自用池 1 个客户错误是 `Failed to read request body` 400，不属于上游账号问题。
- 本轮未继续基于 30 分钟低样本调整 priority，也未修改 Sub2API 源码、版本、分组、代理、容量、Secret 或外部哨兵。
