Area
Catalog / models
Goal
Make the model picker reflect known quota exhaustion without removing entries from the catalog.
When a routed model or combo has zero remaining credit across all of its routable targets, OpenCodex should mark that catalog entry as inactive so picker consumers can grey it out and explain why it is unavailable. The entry should become active again automatically when quota resets or refills.
Current problem
Models and combos with known zero remaining credit can still appear as normal selectable entries in the catalog-backed model picker. Users can therefore select an option that OpenCodex already knows cannot currently serve a request.
In scope
- Catalog state. Represent known all-target quota exhaustion in the served model catalog without hiding the model/combo.
- Picker semantics. Expose enough stable metadata for picker consumers to render the entry as inactive, ideally with a reason such as
no_credit.
- Recovery. Remove the inactive state automatically when authoritative quota state shows that credit has reset or refilled.
- Honest unknowns. Do not mark an entry exhausted merely because quota data is absent or stale; only positive exhaustion evidence should disable it.
Example shape, if compatible with the catalog contract:
{
"disabled_reason": "no_credit"
}
The exact field name is an implementation decision; the required product behavior is a stable visible entry that can be rendered inactive with an exhaustion reason.
Out of scope
Relationship
Example
Before: combo/grok-4.5 has known zero credit across every routable target but appears active in the picker.
After: the entry remains visible, is marked inactive with a no-credit reason, and becomes active again after quota recovery.
Alternatives considered
- Manually checking the dashboard before selecting a model: works but duplicates information OpenCodex already has.
- Hiding exhausted models entirely: rejected because keeping the entry visible preserves catalog stability and explains why it is unavailable.
Additional context
Checks
Area
Catalog / models
Goal
Make the model picker reflect known quota exhaustion without removing entries from the catalog.
When a routed model or combo has zero remaining credit across all of its routable targets, OpenCodex should mark that catalog entry as inactive so picker consumers can grey it out and explain why it is unavailable. The entry should become active again automatically when quota resets or refills.
Current problem
Models and combos with known zero remaining credit can still appear as normal selectable entries in the catalog-backed model picker. Users can therefore select an option that OpenCodex already knows cannot currently serve a request.
In scope
no_credit.Example shape, if compatible with the catalog contract:
{ "disabled_reason": "no_credit" }The exact field name is an implementation decision; the required product behavior is a stable visible entry that can be rendered inactive with an exhaustion reason.
Out of scope
Relationship
Example
Before:
combo/grok-4.5has known zero credit across every routable target but appears active in the picker.After: the entry remains visible, is marked inactive with a no-credit reason, and becomes active again after quota recovery.
Alternatives considered
Additional context
Checks