You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Extend the provider usage-telemetry normalization started for the OpenAI Codex provider (#2955) to every supported provider, so the Harbor stream and benchmark harness report a consistent token schema: input, cached input, output, and reasoning tokens, with explicit null for metrics a provider does not report.
Current evidence
v0.8.56: Build a Codex-parity token comparison harness #2952 notes the CodeWhale Harbor stream currently reports aggregate input/output only, while Codex CLI separately reports cached input and reasoning tokens — making parity comparisons lossy.
DeepSeek's API reports prompt_cache_hit_tokens/prompt_cache_miss_tokens, and other providers (OpenRouter, Together AI Provider: add dedicated Together AI support #2906, etc.) expose their own cached/reasoning usage fields; none of these are currently normalized into one schema.
输入缓存命中率太低了 #1177 (low input cache hit rate) is hard to diagnose without per-provider cache-hit telemetry surfaced consistently.
Scope
Define one normalized usage struct (input, cached_input, output, reasoning, plus provider-raw passthrough) and map each supported provider's usage payload onto it.
Goal
Extend the provider usage-telemetry normalization started for the OpenAI Codex provider (#2955) to every supported provider, so the Harbor stream and benchmark harness report a consistent token schema: input, cached input, output, and reasoning tokens, with explicit
nullfor metrics a provider does not report.Current evidence
prompt_cache_hit_tokens/prompt_cache_miss_tokens, and other providers (OpenRouter, Together AI Provider: add dedicated Together AI support #2906, etc.) expose their own cached/reasoning usage fields; none of these are currently normalized into one schema.Scope
null, never silent zero).Non-goals
Acceptance criteria
Related: #2955, #2952, #1177, #2956, #2666
Deferred to v0.8.57: depends on #2955 landing first and touches every provider adapter, so it should not block the v0.8.56 parity work.