mirror of
https://github.com/openai/codex.git
synced 2026-09-07 15:40:00 +00:00
## Why Model settings can change between steps in the same turn. Token-budget defaults, context-window limits, and model-visible guidance need to stay aligned with the model captured for each step. ## What changed - Preserve the turn's original token-budget preferences and resolve model-owned defaults when each `StepContext` is created. - Use the step's model to determine context-window availability and token-budget guidance, while keeping explicit user settings unchanged. - Emit one-time replacement or removal notices when context-window guidance changes, including compatibility with previously persisted world-state snapshots. - Add `ModelInfo::usable_context_window()` to distinguish reserved-headroom capacity from the resolved context window and auto-compaction limit. ## Testing - Cover mid-turn model switches with model defaults, explicit settings, config reloads, missing context windows, and missing destination guidance. - Cover unchanged, replaced, removed, blank, and legacy guidance transitions. GitOrigin-RevId: 91100a9f3625bef8a79ecd158eb028051c309eee
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.