feat: price and display the Codex Daybreak Blue model - #330
Merged
Conversation
The table carried launch pricing only. OpenAI cut Terra by 20% and Luna by 80% on 2026-07-30, and put Sol on a promotional rate on 2026-08-21 (4/M in, 20/M out, running at least through 2026-11-21). Each entry now has a dated ratePeriod; cache read stays 10% of input and cache write 1.25x input, per the official API pricing page. No reversion period for the Sol promo until OpenAI actually ends it. Source: developers.openai.com/api/docs/pricing (short-context tier; the long-context surcharge is not modelled, same approximation as Gemini). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015CRD7fqjWszvLzEnbXeDMa
gpt-daybreak-blue-latest is OpenAI's Daybreak program alias for gpt-5.6-sol, and 61 real Codex sessions in the local store carry it. The bare gpt-daybreak-blue key prices the -latest form (and any future suffix) through the longest-prefix fallback; the key shares Sol's ratePeriod slice so the alias can never drift from its target. Source: developers.openai.com/api/docs/pricing, which documents daybreak-blue-latest as currently pointing at gpt-5.6-sol. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015CRD7fqjWszvLzEnbXeDMa
displayModel's GPT branch never title-cased the first segment because every id so far started with a number; gpt-daybreak-blue-latest was the first codename and rendered as "GPT-daybreak Blue Latest". The segment now goes through titleWord (a no-op for numeric segments) and a trailing -latest is stripped before splitting, so the label reads "GPT-Daybreak Blue" and gpt-5-chat-latest tightens to "GPT-5 Chat". The raw id still reaches the title/hover attributes untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015CRD7fqjWszvLzEnbXeDMa
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds support for Codex's
gpt-daybreak-blue-latestmodel — OpenAI's Daybreak program alias forgpt-5.6-sol. Sync, storage, CLI display, and filtering already handle any model id as an opaque string; the gaps were pricing (sessions showed tokens but no cost) and the panel label (would render as "GPT-daybreak Blue Latest").internal/pricing: newgpt-daybreak-bluekey sharinggpt-5.6-sol's rate periods (the-latestform resolves via the longest-prefix fallback). While researching the rate, the GPT-5.6 family entries turned out to be stale: Terra (−20%) and Luna (−80%) were cut on 2026-07-30, and Sol went on a promotional rate ($4/M in, $20/M out) on 2026-08-21 — both are now datedratePeriods. Source: developers.openai.com/api/docs/pricing (short-context tier).internal/panel:displayModel's GPT branch now title-cases the first segment (a no-op for numeric ids) and drops a trailing-latest, so the label reads GPT-Daybreak Blue (gpt-5-chat-latesttightens to "GPT-5 Chat"). Raw id still backs the hover/title attributes.No importer, proto, server, store, or migration changes — the id flows through untouched.
Testing
just ci(tidy-check, gen-check, vet, lint, test-race, integration, build) passes.TestLookupPricesGPT56FamilyByDatecovers pre/post-cut rates for Sol, Terra, Luna, and proves the Daybreak alias tracks Sol through every period; the known-store table gains both daybreak forms;TestDisplayModelgains the codename cases.PROSA_HOME: daybreak sessions import and price at the promo rate inprosa analytics usage_by_model.prosa-server, push sync,prosa-panelwith dev login) verified in the browser: "GPT-Daybreak Blue" in the Model share legend and session side panel, with per-session cost computed.🤖 Generated with Claude Code