chore(pricing): refresh models.dev snapshot (adds gpt-5.6-sol; NEEDS REVIEW) - #499
chore(pricing): refresh models.dev snapshot (adds gpt-5.6-sol; NEEDS REVIEW)#499miyaontherelay wants to merge 3 commits into
Conversation
Adds gpt-5.6-sol pricing (previously unpriced, reported as $0.00). NEEDS REVIEW - upstream also changed existing entries, failing 3 tests: - claude-sonnet-4-6 reasoning_mode: SameAsOutput -> Separate - gpt-5.5 input: 5.0 -> 1.5 These alter computed costs, so the assertions are left failing deliberately rather than updated silently.
|
Warning Review limit reached
Next review available in: 57 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. 📝 WalkthroughWalkthroughUpdates the Unreleased changelog with the vendored ChangesPricing documentation
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The models.dev snapshot refresh was split out of this PR into #499 because it carries upstream semantic changes needing review. The changelog entry went with it; this branch only changes unpriced-cost reporting.
5ee372b to
bafd6f1
Compare
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@CHANGELOG.md`:
- Line 7: Update the Unreleased pricing changelog entry to document all
user-visible changes from the vendored models.dev snapshot: the newly priced
gpt-5.6-sol model, the changed claude-sonnet-4-6 reasoning pricing, and the
changed gpt-5.5 input pricing.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 66f50dcc-8749-4237-8597-c49de0a7389a
📒 Files selected for processing (2)
CHANGELOG.mdcrates/relayburn-sdk/data/models.dev.json
The entry named only the gpt-5.6-sol addition. The same refresh also changes costs for models already in use, which a reader would otherwise not learn from the release notes.
|
Good catch — fixed in The entry named only the Updated: Reviewer note: this PR is intentionally failingThree tests are red and were left red rather than updated:
The reasoning-mode change is the blocker. It asserts Claude bills reasoning tokens on a separate tariff rather than at the output rate, which changes every computed Claude cost this tool reports. That is a judgement about whether upstream models.dev is correct, not a test to mechanically update — so it needs a human decision before merge. Two ways to close this out:
Related test-design issueThese assertions hard-code live third-party prices, so every routine Split from #498, which carries the unpriced-cost reporting fix and is green. |
Summary
Refreshes
crates/relayburn-sdk/data/models.dev.jsonvianode scripts/update-pricing.mjs(fetches https://models.dev/api.json).
Motivation:
gpt-5.6-solwas absent from the snapshot, so real Codex turns were costed atexactly
$0.00and rolled into the reported total. Observed:The refresh adds it.
Upstream also changed existing entries. Three tests fail, and they have been left failing
on purpose rather than updated silently, because two of them encode real cost semantics:
analyze::cost::tests::bills_reasoning_at_output_rate_for_claude_same_as_output(cost.rs:313)claude-sonnet-4-6reasoning_mode:SameAsOutput→Separateanalyze::pricing::tests::builtin_snapshot_has_gpt_5_5_pricing(pricing.rs:199)gpt-5.5input:5.0→1.5analyze::pricing::tests::builtin_snapshot_parses_and_has_anthropic_models(pricing.rs:178)gpt-5.5input changeThe reasoning-mode change is the one that matters. It asserts Claude bills reasoning tokens on a
separate tariff rather than at the output rate, which changes every computed Claude cost. That
is a product judgement about whether upstream is correct, not a test to be mechanically updated.
Decide, then update the assertions accordingly:
gpt-5.6-soladdition.Note on test design
These assertions hard-code live third-party prices, so every routine
pricing:updatebreaksCI. Worth a follow-up: assert structure and relationships (entry exists, rates > 0,
reasoning == outputwhen mode isSameAsOutput) and cover exact values with a small pinnedfixture rather than the live snapshot.
Validation
node scripts/update-pricing.mjs— succeeded; diff is 1 line (the snapshot is single-line JSON)cargo test --workspace— 831 passed, 3 failed (the three above)main— fully green, so this PR causes themSplit out of #498, which now contains only the unpriced-cost reporting fix and is green.
🤖 Generated with Claude Code