Usage components are disjoint: input excludes cache reads and writes,
while output includes any reported reasoning tokens. reasoning is an
optional breakdown of output; it is never added to total a second time.
The optional cache_write_1h value is a subset of cache_write.