mirror of
https://github.com/openai/codex.git
synced 2026-10-19 16:17:49 +00:00
## Why Guardian request counts grouped by input size should reflect admitted sampling inputs without counting synchronous transport retries more than once. ## What changed - Add a shared `token_bucket` label to admitted total-input observations in `codex.guardian.context.request_tokens` for synchronous and asynchronous reviews. Use inclusive upper bounds in 20k-token steps through 240k, followed by 256k and overflow buckets. - Record synchronous request tokens after budget admission, once per sampling step, including the complete input. A fresh step counts again even when its input is identical. - Preserve asynchronous component histograms for oversized classifications, but omit `token_bucket` so rejected inputs do not contribute to counts grouped by that label. ## Testing Add coverage for bucket boundaries, synchronous retry deduplication and budget rejection, asynchronous retained-history reuse and reset, and admitted versus oversized classification metrics. GitOrigin-RevId: fac2f102a4c48c5fd21d56bfa701b95a1ff852d0