Skip to content
IonWarpTry Pro free for 7 days
AI code review for GitHub teams

Add Cost Review
to your pull requests.

Flags model calls whose tokens or cost never get recorded.

IonWarpbotexample review
IonWarp Review — PR #412
3 issues| 2 P1 1 P2
#SevIssueFile
1Streamed turns record zero tokenslib/ai/chat.ts
2Ledger prices the requested model, not the served onelib/ai/ledger.ts
3Cache-read tokens not carried into usage rowlib/ai/usage.ts
lib/ai/chat.ts
575859
−++
const res = await client.chat.completions.create({ model, messages });const stream = await client.chat.completions.create({ model, messages, stream: true });for await (const chunk of stream) yield chunk.choices[0]?.delta?.content ?? "";
Streaming turned usage off · Cost Review

The switch to streaming never asks for usage (`stream_options: { include_usage: true }`), so every chat turn now writes 0 tokens and $0 to the ledger the budget reads. Request usage and record the final chunk's usage with the served model.

Suggested fixAI fix prompt

IonWarp caught 5 issues other models missed

Real IonWarp comments on open-source pull requests, graded against the benchmark's answer key.

Missed byGLM 5.3 Flash 4GPT-6 Luna Pro 4

4 of 5 · See the benchmark

packages/api/src/agents/usage.tsLibreChat #13014
IonWarp caught it 2 other models missed it
IonWarpbotcommented on line 76

P2Reasoning repair measures the gap against raw input, re-billing cached input as completion for additive-cache providers · Cost Review

When an additive-cache provider (Anthropic/Bedrock — providers NOT in SUBSET_PROVIDERS, whose `input_tokens` excludes the cached tokens) reports `total_tokens` that includes the cached prompt tokens, `resolveCompletionTokens` returns `total - input = output + cache`, so the cached tokens are charged at the completion rate in addition to the cache read/write rate that `spendStructuredTokens`/`prepareStructuredTokenSpend` already bills from the same entry. The repo itself proves cache is separate from `input_tokens` for these providers: the additive branch computes `totalInput: rawInput + cacheCreation + cacheRead`, yet the new gap check uses raw `usage.input_tokens` only. Example entry that mis-bills: `{ input_tokens: 100, output_tokens: 50, total_tokens: 190, cache_read_input_tokens: 40, provider: 'anthropic' }` → completion 90 instead of 50, with the 40 cache tokens billed twice. For the subset providers the same line is harmless because `input_tokens` already contains the cache, which is why the new tests (all OpenAI/Vertex) pass.

HighKnown issue in the Cost Review benchmark · caught by DeepSeek V4.1 FlashSee the graded case

DeepSeek V4.1 Flash is its best model on this benchmark; Cost Review runs GLM 5.3 Flash unless you pick another.

Cost Review on the benchmark

IonWarp's models and the review apps, graded on the same open-source pull requests.

IonWarp runs GLM 5.3 Flash at medium effort, which this benchmark has not measured; the GLM 5.3 Flash row here ran at low effort. Sorted by Reviewer Score (F1 counts 3×, time and cost 1× each). Rows not graded on every PR come last. Review times come from runs on Sep 22–24, 2026 (models). Click a column heading to sort.
PRs
IonWarp Cost · GLM 5.3 Flash
IonWarp Cost · DeepSeek V4.1 Flash
IonWarp Cost · GPT-6 Luna Pro
CodeRabbit
Cursor Bugbot
Greptile v4.1
Qodo v2

Why IonWarp runs GLM 5.3 Flash: in a blind-graded replay of 11 production reviews on 26 September 2026 it found 2 significant issues to DeepSeek V4.1 Flash's 0, with 1 false finding to 3, at half the cost ($0.032 a review against $0.065). The trade-off: the benchmark release of 24 September 2026 measured GLM 5.3 Flash only at low effort, and there DeepSeek V4.1 Flash alone caught three billing bugs GLM missed — LibreChat #13014 billed cache tokens a second time at the output rate, sentry-python #5319 left Anthropic cache tokens out of input so cost went negative on cache hits, and Mastra #12465 subtracted cache tokens twice.

Pricing

Simple pricing for your whole team.

One workspace price with seats included. Credits pool across your team. Unlimited repos on every plan.

Cost Review is on Pro and Max, from $49 a month with 5 seats and a 7-day trial.

Starter

$0 /mo

Try AI PR review.

  • 2 reviewers
    • Code Review
    • Security Review
  • 3 seats included
  • 15,000 credits to start, then 5,000/mo
  • Unlimited repos
Get Started

Max

$149 /mo

Scale AI PR review.

  • +9 reviewers
    • UX Review
    • API Performance
    • Analytics Review
    • SEO Review
    • Changelog
    • CI/CD Performance
    • Plan Review
    • Repeat-Failure Learnings
    • SOC 2 Review
  • 10 seats included
  • +75,000 credits/mo
  • +$29/mo per added seat
  • Unlimited repos
  • Priority support
Choose Max
Enterprise

Custom reviewers + credits · GitHub Enterprise · SSO/SAML + audit logs · Custom security review + SLA

Contact us
About Cost Review