# R2.2.16 任务报告

## 结果

- PK01 owning YAML 与实际运行镜像均为 `0.1.155`；运行状态 healthy。
- 上下文窗口超限可仅通过 Sub2API v0.1.155 官方配置实现：
  - 官方入口为 `/api/v1/admin/error-passthrough-rules`；
  - 新增 YAML 模板 `openai-context-window-client-error`；
  - 同时匹配 OpenAI 平台、错误码 `400/502` 与上下文超限关键词；
  - 将最终状态码映射为 `400`，保留上游具体响应体并继续记录监控事件。
- 规则已通过受控 CLI 写入 PK01，并由官方 API 回读为 `ruleId=1`、`state=synced`。
- “首 Token 超过 180 秒后切号”无法通过 v0.1.155 官方配置等价实现：
  - `openai_response_header_timeout` 只约束 HTTP 响应头，不是 TTFT；
  - `stream_data_interval_timeout` 可约束流读取静默时间，默认已为 180 秒，但超时返回普通流错误，不会形成账号 failover；
  - 因此未设置不等价超时项，也未修改 Sub2API 源码。
- Grok、账号、分组、优先级和调度状态均未改动。

## 持久化

- PR：https://github.com/pikasTech/unidesk/pull/2072
- Merge commit：`9a0bf6c7f76b2b736035989a32b7743991da7d73`
- owning YAML：`config/platform-infra/sub2api-codex-pool.yaml#runtime.errorPassthroughRules`
- 受控 CLI：`platform-infra sub2api codex-pool error-passthrough list|apply|delete`
- 技能参考：`.agents/skills/unidesk-sub2api/references/codex-pool.md`
- 官方源码版本：https://github.com/Wei-Shaw/sub2api/tree/v0.1.155

## 验证

- TypeScript 相关文件 `bun --check` 全部通过。
- `git diff --check origin/master...HEAD` 通过。
- dry-run：目标规则为 `missing`、`mutation=false`。
- confirm apply：`mutation=true`、`state=synced`。
- 再次 list：`mutation=false`、`ruleId=1`、`state=synced`。
- `platform-infra sub2api status --target PK01`：
  - `sub2api-app` healthy；
  - 镜像 `docker.1panel.live/weishaw/sub2api:0.1.155`。
- `config/platform-infra/sub2api.yaml`：
  - PK01 `image.tag: 0.1.155`。
