fe25108c5166c0479ed571e140b491ae3e682497
App-server sends `thread/tokenUsage/updated` once per *model request*, and a Codex turn makes as many as it made tool calls. The translator held the last one until `turn/completed`, so a turn's cost was reported as its final request alone -- measured against the real rollout, 28,878 tokens for a turn that spent 51,399 -- and the gap grows with how much work the turn did. The context figure also stood still for the whole turn, which is exactly when it is moving most. Reported as each arrives instead: `tokens` now adds up to what the turn spent, and the context figure climbs during the turn (28,921 -> 33,190 -> 35,978 on a two-file read here, matching Codex's own `last_token_usage` exactly at every step).
Languages
Rust
53%
Kotlin
44.4%
Shell
2.6%