Effort levels come from the model
Each model advertises its own set of levels in the catalog. There is no fixed list, so a picker built from a hardcoded set will drop a level the day Codex adds one, run the turn at the default, and report the level you chose anyway.
The advertised window is not the usable one
Codex reserves part of the context window for its own harness. A model advertising 272,000 tokens gives you about 258,400, and one advertising 128,000 gives you about 121,600. A usage bar built on the advertised figure reads low by that margin.
Model and effort go together
Both are set when a turn starts. Plan mode is the exception worth knowing: it needs a specific resolved model rather than an unresolved default, so it will refuse rather than guess.
Unknown levels fail loudly
Codex rejects an effort level it does not recognise rather than quietly falling back. That is the failure worth having, because the alternative is a turn that runs at a different level than the one displayed everywhere in the interface.
Do not cache the catalog for long
The catalog is the authority on what exists. Reading it live is what keeps a new model or a new effort level from being invisible.