This value is used to determine whether mid-turn compaction is required. Reasoning items are only excluded between turns (and soon will start to be preserved even across turns) so it's incorrect to subtract reasoning_output_tokens mid term. This will result in higher values reported between turns but we are also looking into preserving reasoning items for the entire conversation to improve performance and caching.
codex-protocol
This crate defines the "types" for the protocol used by Codex CLI, which includes both "internal types" for communication between codex-core and codex-tui, as well as "external types" used with codex app-server.
This crate should have minimal dependencies.
Ideally, we should avoid "material business logic" in this crate, as we can always introduce Ext-style traits to add functionality to types in other crates.