The before/after savings transformation is now model-aware, so it works on Codex (GPT models + OpenAI pricing), not just Anthropic.
What changed
- Codex/GPT support for the transformation. Each era's typical session is now priced at its real model mix (blending per-model rates over the measured mix) instead of an Opus/Sonnet binary. Anthropic blends Opus/Sonnet/Haiku; Codex blends gpt-5-codex / gpt-5.x / mini by their measured shares.
- Provider-correct labels. The Before/Now columns show the dominant model in the mix, e.g. "95% Opus" or "80% GPT-5.4", rather than a hardcoded "% Opus".
- Generalized routing lever. The "where it comes from" routing line now reflects any model-mix shift, and reports a shift to costlier models honestly as added cost.
- No more hidden panel for Codex. Replaced the Opus-share gate that hid the transformation for any non-Opus (Codex / 0%-Opus) baseline.
Anthropic numbers are unchanged within noise; Codex now renders a correct, GPT-priced transformation.