2.4 KiB
2.4 KiB
R2.3 任务报告
结论
已完成 PK01 Sub2API 原生 system-log 策略事件索引缺口的只读调查,完整证据见 Issue #2027 调查结论。调查以当前真实运行面 v0.1.147 为主证据,v0.1.155 仅用于源码差异参考;未修改代码、runtime、YAML、账号、proxy、调度,未发探针、未部署。
根因分层
openai.upstream_failover_switching、openai.account_select_failed、openai.forward_failed是 warning/error 事件,已真实写入 v0.1.147 的ops_system_logs,并可按 request ID 从原生 admin/ops API 查询。account_temp_unschedulable在 v0.1.147 中以 INFO 发出;OpsSystemLogSink.shouldIndex只接收 warning/error/fatal 等级或特定组件,因此该事件在进入 sink 队列前被过滤。- 临时不可调度事件还缺少
request_id、client_request_id、用户、API key、分组、模型等上下文字段,即使单纯纳入索引,也不能稳定完成逐请求归因。 - v0.1.155 仍以 INFO 发出该事件,sink 等级过滤规则未改变,因此升级不能直接解决。
- 当前容器在回退 v0.1.147 时重建,容器日志只能覆盖重建后窗口;当前无
max-size/max-file,但容器替换后没有稳定历史保留合同,不能替代数据库索引。
CLI 现状与候选
codex-pool feedback --user ... --request-id ...已是近期 request-scoped 原生 system-log 的可靠入口。runtime errors能读取 host-Docker 容器日志,但当前主要输出账号级聚合。codex-pool trace在 PK01 host-Docker 上仍硬编码kubectl logs,会产生 false not-found;应独立修复为复用runtime_logs()。- 可独立增加只读
platform-infra sub2api ops system-logs,封装 v0.1.147 已有q、request ID、账号、时间范围和固定分页合同。 - 若要求临时不可调度稳定入库和逐请求关联,需要 Sub2API 上游源码增加策略事件 allowlist,并补齐请求上下文字段;不建议仅把 INFO 粗暴升为 WARN。
裁决
PK01 可继续保持 v0.1.147。failover、账号选择失败和 forward failure 的可见性优化不需要上游源码变更;临时不可调度的稳定数据库索引和逐请求关联需要上游源码变更,但不属于本只读任务实现范围。Issue #2027 已关闭。