Skip to content

windowMinutes missing on several providers silently disables pace/forecast (zai, kimi, grok, antigravity) #2431

Description

@psl75011

Summary

Several providers ship quota windows without windowMinutes. Because pace/forecast
needs the window duration to know what "expected usage at this point" is, the whole
forecasting layer silently disables itself for those providers — no pace line, no
run-out estimate, no "windows remaining" verdict from #2274. The gauges still render,
so nothing looks broken; the feature is simply absent.

Measured (v0.45.2, Linux, serve on :9120)

provider source usedPercent windowMinutes resetsAt pace
codex oauth 63 10080
claude CodexBar 60 10080
zai api 13 / 7 / 40 10080 / absent / 300
kimi Kimi Code API key 43 / 8 absent / 300
grok grok-web 15 absent
antigravity cli 0 / 0 absent / absent

Every provider reports usedPercent and resetsAt. Only codex and claude report
windowMinutes on all their windows — and they are exactly the two that get a pace
object. The correlation is 1:1.

Why this matters

resetsAt alone is not enough: it tells you when the window ends, not how long
it is, so "expected consumption at this point in the window" cannot be computed. One
missing declarative field disables the entire downstream chain for four providers.

For most of these the period is not ambiguous — the plans are weekly or monthly and
the cadence is already visible from consecutive resetsAt values. It looks like the
field is simply not populated by those provider adapters rather than genuinely
unknown.

Request

Populate windowMinutes on the zai / kimi / grok / antigravity windows (deriving it
from the known plan period where the API does not return it explicitly), so pace and
the #2274 forecast light up for them the same way they already do for codex and claude.

Related

  • Add weekly session-equivalent headroom #2274 — weekly run-out verdict + remaining 5-hour windows (currently only reachable
    for providers that have a pace, i.e. codex/claude).
  • Side note: the Add weekly session-equivalent headroom #2274 forecast does not appear in the CodexBarCLI serve JSON output
    at all — it seems to live only in the macOS rendering layer. Exposing it in serve
    would let Linux/headless consumers show the same verdict. Happy to open that as a
    separate issue if preferred.

Environment

CodexBarCLI serve v0.45.2, static musl x86-64, Linux 7.0.0, 7 providers enabled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal priority bug or improvement with limited blast radius.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions