Skip to content

fix(pricing): alias grok-proxy to Grok Build - #1123

Merged
robinebers merged 1 commit into
mainfrom
fix/grok-proxy-pricing
Aug 19, 2026
Merged

robinebers merged 1 commit into
mainfrom
fix/grok-proxy-pricing

Conversation

@robinebers

Copy link
Copy Markdown
Owner

TL;DR

Alias the Grok CLI log slug grok-proxy to grok-build-0.1 so recent Grok Build usage shows up in spend tiles and Total Spend.

What was happening

  • GrokLogUsageScanner attributes inference_done rows via the last model id seen for that PID.
  • Unpriced models are dropped from every spend total (warning triangle only).
  • grok-build and grok-code-fast-1 already alias to grok-build-0.1. Recent Grok Build CLI sessions log grok-proxy instead, so Today/Yesterday (and Total Spend for those days) went empty while Weekly quota still worked. Older grok-build days still filled Last 30 Days.

What this changes

  • Add supplement alias grok-proxy → grok-build-0.1 (same rates as grok-build: $1 input / $2 output per million).
  • Extend testGrokCLIModelAliases so grok-proxy resolves to the same rates as grok-build-0.1.
  • Bump updated_at so installed apps pick the feed up within about an hour. No app release needed.

Heads-up

  • Grok 4.5/4.6 sessions still log those ids, not grok-proxy. This only affects Grok Build CLI users whose logs switched slugs.
  • If grok-proxy ever becomes a generic proxy id for other models, this alias would underprice those rows.

Tests

  • Supplement JSON/alias validation
  • PricingBundledResourceTests/testGrokCLIModelAliases

Fixes #1119

Made with Cursor

Recent Grok Build CLI logs emit grok-proxy instead of grok-build, so those rows were dropped from spend tiles.

Co-authored-by: Cursor <[email protected]>
@github-actions github-actions Bot added the tests label Aug 19, 2026
@robinebers
robinebers merged commit 70acd4f into main Aug 19, 2026
3 checks passed
@robinebers
robinebers deleted the fix/grok-proxy-pricing branch August 19, 2026 11:00
mstallone added a commit to mstallone/runway that referenced this pull request Sep 5, 2026
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
## TL;DR

Selective re-implementation of the new upstream OpenUsage commits that
still apply on Runway: Codex auto-review stays a first-class model in
spend breakdowns and prices as GPT-5.6 Luna from 2026-07-09, and Grok
CLI's `grok-proxy` slug resolves to Grok Build.

## What was happening

- Upstream has moved on since the last port wave (Runway #101–#108).
Each new OpenUsage commit was reviewed against Runway's architecture,
existing ports, and the "don't bloat" bar.
- Codex still replaced `codex-auto-review` with its dated GPT fallback
before aggregation (openusage robinebers#1085), so the breakdown showed gpt-5.5
instead of auto-review.
- That fallback table still stopped at gpt-5.5 (openusage robinebers#1125). OpenAI
moved auto-review onto GPT-5.6 Luna on 2026-07-09, so every auto-review
event since July was priced 25× too high.
- Grok CLI now logs `grok-proxy` for Grok Build (openusage robinebers#1123); that
slug had no alias, so those tokens were dropped from the spend tiles.

## What this changes

- Parser keeps the measured `codex-auto-review` slug and stores the
dated GPT fallback on `Event.pricingModel` only for cost. Aggregation
keys the rate cache by both slugs so a day that spans the Luna cutoff
does not reuse the first event's rates.
- Adds `("2026-07-09", "gpt-5.6-luna")` at the top of the auto-review
fallback table (ours; ccusage's snapshot still stops at gpt-5.5). Bumps
the Codex JSONL cache schema to 2 so already-remapped events are
reparsed.
- Aliases `grok-proxy` → `grok-build-0.1` and stamps `updated_at` with a
same-day ISO timestamp so the feed wins over today's date-only cache.
- Documents the auto-review identity/pricing split on the Codex
spend-tiles page.

## Heads-up

Reviewed and **not** ported, with reasons:

- **openusage robinebers#1116 / robinebers#1127** (mandatory daily analytics ping, PostHog
bump) — Runway removed analytics in #9.
- **openusage robinebers#1111 / robinebers#1106** (scroll / reorder / SVG parse) — Runway
already has `ReorderFrameStore`, parsed-once `ProviderMark`, row-local
reorder gestures, and the rebuilt popover scroll path. Taking their
patch would duplicate and fight that work.
- **openusage robinebers#1033** (Reset All Settings) — Runway already has Reset
All Customization; a second Settings-wide reset is extra surface, and
earlier port waves already skipped it.
- **openusage robinebers#1128** (Sparkle 2.9.5 → 2.9.6) — relevant security bump,
but this environment cannot refresh `Package.resolved`'s `originHash`.
Dependabot is already scheduled weekly; worth a dedicated follow-up.
- Pricing/provider commits through robinebers#1112, robinebers#1108, robinebers#1110, robinebers#1109, robinebers#1105,
robinebers#1103, robinebers#1101, robinebers#1097, robinebers#1093, robinebers#1089, robinebers#1087, robinebers#1050, robinebers#1019, robinebers#1082 are
already in `main`.

## Tests

- New parser tests: auto-review lines keep the slug; post-2026-07-09
lines price as Luna; the 2026-07-08/09 boundary stays gpt-5.5.
- New aggregation tests: breakdown shows `codex-auto-review` while
costing the fallback; Luna and gpt-5.5 auto-review events on either side
of the cutoff keep independent rates (guards the rate-cache key).
- `grok-proxy` resolves to the same rates as `grok-build-0.1`.
- This environment is Linux, so `swift test` could not be run here. CI
on `macos-26` is the compile/test gate.
<!-- CURSOR_AGENT_PR_BODY_END -->

<div><a
href="https://cursor.com/agents/bc-28a06551-9894-4f4b-ac34-9d5daf6e62b1?cursor_ref=pr_footer&cursor_cta=open_in_web"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-web-light.png"><img
alt="Open in Web" width="114" height="28"
src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a>&nbsp;<a
href="https://cursor.com/background-agent?bcId=bc-28a06551-9894-4f4b-ac34-9d5daf6e62b1&cursor_ref=pr_footer&cursor_cta=open_in_cursor"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img
alt="Open in Cursor" width="131" height="28"
src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a>&nbsp;</div>

Co-authored-by: Cursor Agent <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Grok Today/Yesterday spend missing from Total Spend when log uses grok-proxy

1 participant