[Bug]: Usage leaves Daybreak models unpriced because Codex and LiteLLM use different aliases
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/server
Steps to reproduce
- Run a Codex session using
gpt-daybreak-blue-latestorgpt-daybreak-red-latest. - Confirm the Codex rollout records that model name in
turn_context. - Open T3 Code's Usage page and refresh the usage summary.
- Find the Daybreak model in the model breakdown.
Expected behavior
Daybreak token usage should receive the corresponding API-equivalent price from LiteLLM:
gpt-daybreak-blue-latestshould usedaybreak-blue-latestgpt-daybreak-red-latestshould usedaybreak-red-latest
The Usage page should include those records in its estimated cost and cache-savings totals.
Actual behavior
The token counts appear, but Daybreak records are classified as unpriced and contribute $0.00 to the estimated cost.
Codex records the operational model names with a gpt- prefix:
gpt-daybreak-blue-latest
gpt-daybreak-red-latest
LiteLLM publishes their rates under different keys:
daybreak-blue-latest
daybreak-red-latest
T3's Usage pricing performs an exact normalized lookup. It removes provider-path prefixes and normalizes casing, but does not reconcile these two upstream aliases.
This is separate from the model-picker classification fixed by #7659.
Impact
Major degradation or frequent failure
Cost totals are consistently understated for users with Daybreak activity. Token reporting still works, but potentially substantial usage appears as free.
Version or commit
main @ 45a2c4b2a
Environment
Codex app-server with Daybreak access; reproduced with gpt-daybreak-blue-latest on macOS.
Logs or stack traces
Codex transcript model: gpt-daybreak-blue-latest
LiteLLM rate key: daybreak-blue-latest
Usage result: unpriced / $0.00
Workaround
No in-app workaround. Users can see Daybreak token counts but must calculate their API-equivalent cost separately.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/server and trace the Usage pricing lookup that normalizes model names, then compare its handling of the Codex Daybreak aliases with the LiteLLM rate keys described here. Done means both gpt-daybreak-blue-latest and gpt-daybreak-red-latest resolve to their corresponding unprefixed rates and appear in estimated cost and cache-savings totals.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100