fix(eval): update DeepSeek V4 Flash pricing to current published rates - #3153

Merged
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current
Aug 17, 2026
Merged

fix(eval): update DeepSeek V4 Flash pricing to current published rates#3153
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up from the #2971 review (@M4n5ter's first non-blocking item): the static DeepSeek pricing was stale.

DeepSeek's published V4 Flash pricing is now time-of-day dependent — peak hours (01:00–04:00 and 06:00–10:00 UTC) bill $0.44/M cache-miss input, $0.014/M cache-hit input and $1.32/M output; all other hours bill half. The old flat table ($0.14 / $0.0028 / $0.28) matches neither band and understated real spend by roughly 2.4× on a mostly off-peak run.

The metering checkpoint records aggregate usage without request timestamps, so a flat table remains the only representable shape. This updates the table to the off-peak band and documents the normalization: reported cost is a normalized API-equivalent, not an invoice, and a run straddling peak hours bills up to 2×. Rates fetched 2026-08-17 from https://api-docs.deepseek.com/quick_start/pricing.

Verification

  • node --test dist/__tests__/external-subject.test.js — 13/13 pass, including the billing-identity test that reads the table symbolically.
  • npm run format:check — clean.
  • The 2.4× understatement was reproduced against the three-arm edit-contract run's metered usage, apportioned peak/off-peak by attempt wall-clock windows.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code authored the change and this PR body; a human contributor reviews the final diff and owns the merge decision. The commit carries a Generated-by trailer.

Checklist

  • Tests cover the change and fail without it — the billing-identity test reads the table symbolically; the rate values are data with no failing test
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@coderabbitai

coderabbitaiBot commented Aug 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ec51eadb-24a2-4332-a6fa-abfc2b11a2f8

📥 Commits

Reviewing files that changed from the base of the PR and between 9c37641 and 51626cb.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 1 remains after this review.


📝 Walkthrough

Summary

This PR updates DeepSeek V4 Flash pricing to current published off-peak rates:

  • $0.22 per million cache-miss input tokens
  • $0.007 per million cache-hit input tokens
  • $0.66 per million output tokens

Peak-hour rates are twice the off-peak rates. Metering records do not include request timestamps, so reported costs remain normalized API-equivalent estimates. They are not invoices. Runs across peak hours can incur up to twice the normalized amount.

Design

The PR extends the existing pricing table and metering path. It does not create a parallel path.

The change is small and coherent. The added documentation is necessary because the flat pricing table cannot apply UTC time-dependent rates without request timestamps.

No code or tests can be deleted or simplified without reducing pricing coverage or cost-reporting clarity.

Validation

The PR reports 13/13 tests passing and clean formatting checks. Direct check output was not provided, so the final status of required checks remains unverified.

Review-relevant risks

The pricing update changes user-visible DeepSeek V4 Flash cost estimates. Material changes in user-visible behavior require independent human review under repository policy.

No public contract, security, licensing, release, or governance effect was identified in the current diff.

The person performing the merge must review the final diff. A maintainer makes the final determination.

Walkthrough

DeepSeek V4 Flash metering now uses updated off-peak input, output, cache-read, and cache-write rates. The code documents peak-hour variation and timestamp-free cost normalization.

Changes

DeepSeek V4 Flash metering

Layer / File(s)Summary
Update pricing rates and cost basis
packages/eval/src/provider-metering.ts
The exported rates use 0.22 input, 0.66 output, 0.007 cache read, and 0.22 cache write USD per million tokens. Documentation covers peak UTC pricing and timestamp-free cost normalization.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk:🔵 Low · up to 51626

The PR replaces stale DeepSeek V4 Flash pricing with normalized off-peak rates, improving reported cost accuracy. It is mergeable with owner awareness that the existing billing test will not catch an incorrect rate value, so an independent pricing-value check remains a useful follow-up.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly and concisely describes the main change: updating DeepSeek V4 Flash pricing rates.
Description check✅ PassedThe description includes the required summary, verification, AI-use declaration, checklist, and behavior-change assessment.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe description selects generative tooling, names Claude Code and its scope, and the sole PR commit has the valid matching trailer Generated-by: Claude Code.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/eval-deepseek-pricing-current

Comment @coderabbitai help to get the list of available commands.

@Astro-Han
Astro-Han marked this pull request as ready for review August 17, 2026 08:54
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:54

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Eval’s DeepSeek V4 Flash pricing constants to match currently published rates and documents the new peak/off-peak pricing model while keeping a flat table (since metering checkpoints lack per-request timestamps).

Changes:

  • Document DeepSeek’s time-of-day (peak/off-peak) pricing and clarify that reported cost is a normalized API-equivalent, not an invoice.
  • Update DEEPSEEK_V4_FLASH_COST to the off-peak band values (so true bills during peak windows can be up to 2× the reported normalized cost).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0332dbab-7f85-42ac-b78a-c2bab0ed2442

📥 Commits

Reviewing files that changed from the base of the PR and between 48e95e1 and 9c37641.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 2 remain after this review.

Comment threadpackages/eval/src/provider-metering.ts
DeepSeek's published pricing changed since the table was written, and it is
now time-of-day dependent: peak hours (01:00-04:00 and 06:00-10:00 UTC) bill
double the off-peak rates. The old flat table (0.14 miss / 0.0028 hit / 0.28
output) matches neither band and understated real spend by roughly 2.4x on a
mostly off-peak run.
The metering checkpoint records aggregate usage without request timestamps,
so a flat table remains the only representable shape. Normalize at the
off-peak band (0.22 miss / 0.007 hit / 0.66 output) and say so in the
comment: reported cost is a normalized API-equivalent, not an invoice, and a
run that straddles peak hours bills up to 2x.
Follow-up from the #2971 review.
Generated-by: Claude Code
@Astro-Han
Astro-Hanforce-pushed the fix/eval-deepseek-pricing-current branch from 9c37641 to 51626cbCompareAugust 17, 2026 08:57
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Self-merge fast path: one-file update of a static pricing table and its comment — low impact, trivially reversible, outside the protected areas. Required checks pass. Reviewed by @Astro-Han. Follow-up from #2971's non-blocking review item.

@Astro-Han
Astro-Han merged commit 7ecc689 into mainAug 17, 2026
14 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

fix(eval): update DeepSeek V4 Flash pricing to current published rates - #3153

Merged
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current
Aug 17, 2026
Merged

fix(eval): update DeepSeek V4 Flash pricing to current published rates#3153
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up from the #2971 review (@M4n5ter's first non-blocking item): the static DeepSeek pricing was stale.

DeepSeek's published V4 Flash pricing is now time-of-day dependent — peak hours (01:00–04:00 and 06:00–10:00 UTC) bill $0.44/M cache-miss input, $0.014/M cache-hit input and $1.32/M output; all other hours bill half. The old flat table ($0.14 / $0.0028 / $0.28) matches neither band and understated real spend by roughly 2.4× on a mostly off-peak run.

The metering checkpoint records aggregate usage without request timestamps, so a flat table remains the only representable shape. This updates the table to the off-peak band and documents the normalization: reported cost is a normalized API-equivalent, not an invoice, and a run straddling peak hours bills up to 2×. Rates fetched 2026-08-17 from https://api-docs.deepseek.com/quick_start/pricing.

Verification

  • node --test dist/__tests__/external-subject.test.js — 13/13 pass, including the billing-identity test that reads the table symbolically.
  • npm run format:check — clean.
  • The 2.4× understatement was reproduced against the three-arm edit-contract run's metered usage, apportioned peak/off-peak by attempt wall-clock windows.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code authored the change and this PR body; a human contributor reviews the final diff and owns the merge decision. The commit carries a Generated-by trailer.

Checklist

  • Tests cover the change and fail without it — the billing-identity test reads the table symbolically; the rate values are data with no failing test
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@coderabbitai

coderabbitaiBot commented Aug 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ec51eadb-24a2-4332-a6fa-abfc2b11a2f8

📥 Commits

Reviewing files that changed from the base of the PR and between 9c37641 and 51626cb.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 1 remains after this review.


📝 Walkthrough

Summary

This PR updates DeepSeek V4 Flash pricing to current published off-peak rates:

  • $0.22 per million cache-miss input tokens
  • $0.007 per million cache-hit input tokens
  • $0.66 per million output tokens

Peak-hour rates are twice the off-peak rates. Metering records do not include request timestamps, so reported costs remain normalized API-equivalent estimates. They are not invoices. Runs across peak hours can incur up to twice the normalized amount.

Design

The PR extends the existing pricing table and metering path. It does not create a parallel path.

The change is small and coherent. The added documentation is necessary because the flat pricing table cannot apply UTC time-dependent rates without request timestamps.

No code or tests can be deleted or simplified without reducing pricing coverage or cost-reporting clarity.

Validation

The PR reports 13/13 tests passing and clean formatting checks. Direct check output was not provided, so the final status of required checks remains unverified.

Review-relevant risks

The pricing update changes user-visible DeepSeek V4 Flash cost estimates. Material changes in user-visible behavior require independent human review under repository policy.

No public contract, security, licensing, release, or governance effect was identified in the current diff.

The person performing the merge must review the final diff. A maintainer makes the final determination.

Walkthrough

DeepSeek V4 Flash metering now uses updated off-peak input, output, cache-read, and cache-write rates. The code documents peak-hour variation and timestamp-free cost normalization.

Changes

DeepSeek V4 Flash metering

Layer / File(s)Summary
Update pricing rates and cost basis
packages/eval/src/provider-metering.ts
The exported rates use 0.22 input, 0.66 output, 0.007 cache read, and 0.22 cache write USD per million tokens. Documentation covers peak UTC pricing and timestamp-free cost normalization.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk:🔵 Low · up to 51626

The PR replaces stale DeepSeek V4 Flash pricing with normalized off-peak rates, improving reported cost accuracy. It is mergeable with owner awareness that the existing billing test will not catch an incorrect rate value, so an independent pricing-value check remains a useful follow-up.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly and concisely describes the main change: updating DeepSeek V4 Flash pricing rates.
Description check✅ PassedThe description includes the required summary, verification, AI-use declaration, checklist, and behavior-change assessment.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe description selects generative tooling, names Claude Code and its scope, and the sole PR commit has the valid matching trailer Generated-by: Claude Code.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/eval-deepseek-pricing-current

Comment @coderabbitai help to get the list of available commands.

@Astro-Han
Astro-Han marked this pull request as ready for review August 17, 2026 08:54
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:54

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Eval’s DeepSeek V4 Flash pricing constants to match currently published rates and documents the new peak/off-peak pricing model while keeping a flat table (since metering checkpoints lack per-request timestamps).

Changes:

  • Document DeepSeek’s time-of-day (peak/off-peak) pricing and clarify that reported cost is a normalized API-equivalent, not an invoice.
  • Update DEEPSEEK_V4_FLASH_COST to the off-peak band values (so true bills during peak windows can be up to 2× the reported normalized cost).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0332dbab-7f85-42ac-b78a-c2bab0ed2442

📥 Commits

Reviewing files that changed from the base of the PR and between 48e95e1 and 9c37641.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 2 remain after this review.

Comment threadpackages/eval/src/provider-metering.ts
DeepSeek's published pricing changed since the table was written, and it is
now time-of-day dependent: peak hours (01:00-04:00 and 06:00-10:00 UTC) bill
double the off-peak rates. The old flat table (0.14 miss / 0.0028 hit / 0.28
output) matches neither band and understated real spend by roughly 2.4x on a
mostly off-peak run.
The metering checkpoint records aggregate usage without request timestamps,
so a flat table remains the only representable shape. Normalize at the
off-peak band (0.22 miss / 0.007 hit / 0.66 output) and say so in the
comment: reported cost is a normalized API-equivalent, not an invoice, and a
run that straddles peak hours bills up to 2x.
Follow-up from the #2971 review.
Generated-by: Claude Code
@Astro-Han
Astro-Hanforce-pushed the fix/eval-deepseek-pricing-current branch from 9c37641 to 51626cbCompareAugust 17, 2026 08:57
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Self-merge fast path: one-file update of a static pricing table and its comment — low impact, trivially reversible, outside the protected areas. Required checks pass. Reviewed by @Astro-Han. Follow-up from #2971's non-blocking review item.

@Astro-Han
Astro-Han merged commit 7ecc689 into mainAug 17, 2026
14 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(eval): update DeepSeek V4 Flash pricing to current published rates - #3153

Merged
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current
Aug 17, 2026
Merged

fix(eval): update DeepSeek V4 Flash pricing to current published rates#3153
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up from the #2971 review (@M4n5ter's first non-blocking item): the static DeepSeek pricing was stale.

DeepSeek's published V4 Flash pricing is now time-of-day dependent — peak hours (01:00–04:00 and 06:00–10:00 UTC) bill $0.44/M cache-miss input, $0.014/M cache-hit input and $1.32/M output; all other hours bill half. The old flat table ($0.14 / $0.0028 / $0.28) matches neither band and understated real spend by roughly 2.4× on a mostly off-peak run.

The metering checkpoint records aggregate usage without request timestamps, so a flat table remains the only representable shape. This updates the table to the off-peak band and documents the normalization: reported cost is a normalized API-equivalent, not an invoice, and a run straddling peak hours bills up to 2×. Rates fetched 2026-08-17 from https://api-docs.deepseek.com/quick_start/pricing.

Verification

  • node --test dist/__tests__/external-subject.test.js — 13/13 pass, including the billing-identity test that reads the table symbolically.
  • npm run format:check — clean.
  • The 2.4× understatement was reproduced against the three-arm edit-contract run's metered usage, apportioned peak/off-peak by attempt wall-clock windows.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code authored the change and this PR body; a human contributor reviews the final diff and owns the merge decision. The commit carries a Generated-by trailer.

Checklist

  • Tests cover the change and fail without it — the billing-identity test reads the table symbolically; the rate values are data with no failing test
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@coderabbitai

coderabbitaiBot commented Aug 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ec51eadb-24a2-4332-a6fa-abfc2b11a2f8

📥 Commits

Reviewing files that changed from the base of the PR and between 9c37641 and 51626cb.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 1 remains after this review.


📝 Walkthrough

Summary

This PR updates DeepSeek V4 Flash pricing to current published off-peak rates:

  • $0.22 per million cache-miss input tokens
  • $0.007 per million cache-hit input tokens
  • $0.66 per million output tokens

Peak-hour rates are twice the off-peak rates. Metering records do not include request timestamps, so reported costs remain normalized API-equivalent estimates. They are not invoices. Runs across peak hours can incur up to twice the normalized amount.

Design

The PR extends the existing pricing table and metering path. It does not create a parallel path.

The change is small and coherent. The added documentation is necessary because the flat pricing table cannot apply UTC time-dependent rates without request timestamps.

No code or tests can be deleted or simplified without reducing pricing coverage or cost-reporting clarity.

Validation

The PR reports 13/13 tests passing and clean formatting checks. Direct check output was not provided, so the final status of required checks remains unverified.

Review-relevant risks

The pricing update changes user-visible DeepSeek V4 Flash cost estimates. Material changes in user-visible behavior require independent human review under repository policy.

No public contract, security, licensing, release, or governance effect was identified in the current diff.

The person performing the merge must review the final diff. A maintainer makes the final determination.

Walkthrough

DeepSeek V4 Flash metering now uses updated off-peak input, output, cache-read, and cache-write rates. The code documents peak-hour variation and timestamp-free cost normalization.

Changes

DeepSeek V4 Flash metering

Layer / File(s)Summary
Update pricing rates and cost basis
packages/eval/src/provider-metering.ts
The exported rates use 0.22 input, 0.66 output, 0.007 cache read, and 0.22 cache write USD per million tokens. Documentation covers peak UTC pricing and timestamp-free cost normalization.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk:🔵 Low · up to 51626

The PR replaces stale DeepSeek V4 Flash pricing with normalized off-peak rates, improving reported cost accuracy. It is mergeable with owner awareness that the existing billing test will not catch an incorrect rate value, so an independent pricing-value check remains a useful follow-up.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly and concisely describes the main change: updating DeepSeek V4 Flash pricing rates.
Description check✅ PassedThe description includes the required summary, verification, AI-use declaration, checklist, and behavior-change assessment.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe description selects generative tooling, names Claude Code and its scope, and the sole PR commit has the valid matching trailer Generated-by: Claude Code.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/eval-deepseek-pricing-current

Comment @coderabbitai help to get the list of available commands.

@Astro-Han
Astro-Han marked this pull request as ready for review August 17, 2026 08:54
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:54

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Eval’s DeepSeek V4 Flash pricing constants to match currently published rates and documents the new peak/off-peak pricing model while keeping a flat table (since metering checkpoints lack per-request timestamps).

Changes:

  • Document DeepSeek’s time-of-day (peak/off-peak) pricing and clarify that reported cost is a normalized API-equivalent, not an invoice.
  • Update DEEPSEEK_V4_FLASH_COST to the off-peak band values (so true bills during peak windows can be up to 2× the reported normalized cost).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0332dbab-7f85-42ac-b78a-c2bab0ed2442

📥 Commits

Reviewing files that changed from the base of the PR and between 48e95e1 and 9c37641.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 2 remain after this review.

Comment threadpackages/eval/src/provider-metering.ts
DeepSeek's published pricing changed since the table was written, and it is
now time-of-day dependent: peak hours (01:00-04:00 and 06:00-10:00 UTC) bill
double the off-peak rates. The old flat table (0.14 miss / 0.0028 hit / 0.28
output) matches neither band and understated real spend by roughly 2.4x on a
mostly off-peak run.
The metering checkpoint records aggregate usage without request timestamps,
so a flat table remains the only representable shape. Normalize at the
off-peak band (0.22 miss / 0.007 hit / 0.66 output) and say so in the
comment: reported cost is a normalized API-equivalent, not an invoice, and a
run that straddles peak hours bills up to 2x.
Follow-up from the #2971 review.
Generated-by: Claude Code
@Astro-Han
Astro-Hanforce-pushed the fix/eval-deepseek-pricing-current branch from 9c37641 to 51626cbCompareAugust 17, 2026 08:57
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Self-merge fast path: one-file update of a static pricing table and its comment — low impact, trivially reversible, outside the protected areas. Required checks pass. Reviewed by @Astro-Han. Follow-up from #2971's non-blocking review item.

@Astro-Han
Astro-Han merged commit 7ecc689 into mainAug 17, 2026
14 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(eval): update DeepSeek V4 Flash pricing to current published rates - #3153

Merged
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current
Aug 17, 2026
Merged

fix(eval): update DeepSeek V4 Flash pricing to current published rates#3153
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up from the #2971 review (@M4n5ter's first non-blocking item): the static DeepSeek pricing was stale.

DeepSeek's published V4 Flash pricing is now time-of-day dependent — peak hours (01:00–04:00 and 06:00–10:00 UTC) bill $0.44/M cache-miss input, $0.014/M cache-hit input and $1.32/M output; all other hours bill half. The old flat table ($0.14 / $0.0028 / $0.28) matches neither band and understated real spend by roughly 2.4× on a mostly off-peak run.

The metering checkpoint records aggregate usage without request timestamps, so a flat table remains the only representable shape. This updates the table to the off-peak band and documents the normalization: reported cost is a normalized API-equivalent, not an invoice, and a run straddling peak hours bills up to 2×. Rates fetched 2026-08-17 from https://api-docs.deepseek.com/quick_start/pricing.

Verification

  • node --test dist/__tests__/external-subject.test.js — 13/13 pass, including the billing-identity test that reads the table symbolically.
  • npm run format:check — clean.
  • The 2.4× understatement was reproduced against the three-arm edit-contract run's metered usage, apportioned peak/off-peak by attempt wall-clock windows.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code authored the change and this PR body; a human contributor reviews the final diff and owns the merge decision. The commit carries a Generated-by trailer.

Checklist

  • Tests cover the change and fail without it — the billing-identity test reads the table symbolically; the rate values are data with no failing test
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@coderabbitai

coderabbitaiBot commented Aug 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ec51eadb-24a2-4332-a6fa-abfc2b11a2f8

📥 Commits

Reviewing files that changed from the base of the PR and between 9c37641 and 51626cb.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 1 remains after this review.


📝 Walkthrough

Summary

This PR updates DeepSeek V4 Flash pricing to current published off-peak rates:

  • $0.22 per million cache-miss input tokens
  • $0.007 per million cache-hit input tokens
  • $0.66 per million output tokens

Peak-hour rates are twice the off-peak rates. Metering records do not include request timestamps, so reported costs remain normalized API-equivalent estimates. They are not invoices. Runs across peak hours can incur up to twice the normalized amount.

Design

The PR extends the existing pricing table and metering path. It does not create a parallel path.

The change is small and coherent. The added documentation is necessary because the flat pricing table cannot apply UTC time-dependent rates without request timestamps.

No code or tests can be deleted or simplified without reducing pricing coverage or cost-reporting clarity.

Validation

The PR reports 13/13 tests passing and clean formatting checks. Direct check output was not provided, so the final status of required checks remains unverified.

Review-relevant risks

The pricing update changes user-visible DeepSeek V4 Flash cost estimates. Material changes in user-visible behavior require independent human review under repository policy.

No public contract, security, licensing, release, or governance effect was identified in the current diff.

The person performing the merge must review the final diff. A maintainer makes the final determination.

Walkthrough

DeepSeek V4 Flash metering now uses updated off-peak input, output, cache-read, and cache-write rates. The code documents peak-hour variation and timestamp-free cost normalization.

Changes

DeepSeek V4 Flash metering

Layer / File(s)Summary
Update pricing rates and cost basis
packages/eval/src/provider-metering.ts
The exported rates use 0.22 input, 0.66 output, 0.007 cache read, and 0.22 cache write USD per million tokens. Documentation covers peak UTC pricing and timestamp-free cost normalization.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk:🔵 Low · up to 51626

The PR replaces stale DeepSeek V4 Flash pricing with normalized off-peak rates, improving reported cost accuracy. It is mergeable with owner awareness that the existing billing test will not catch an incorrect rate value, so an independent pricing-value check remains a useful follow-up.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly and concisely describes the main change: updating DeepSeek V4 Flash pricing rates.
Description check✅ PassedThe description includes the required summary, verification, AI-use declaration, checklist, and behavior-change assessment.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe description selects generative tooling, names Claude Code and its scope, and the sole PR commit has the valid matching trailer Generated-by: Claude Code.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/eval-deepseek-pricing-current

Comment @coderabbitai help to get the list of available commands.

@Astro-Han
Astro-Han marked this pull request as ready for review August 17, 2026 08:54
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:54

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Eval’s DeepSeek V4 Flash pricing constants to match currently published rates and documents the new peak/off-peak pricing model while keeping a flat table (since metering checkpoints lack per-request timestamps).

Changes:

  • Document DeepSeek’s time-of-day (peak/off-peak) pricing and clarify that reported cost is a normalized API-equivalent, not an invoice.
  • Update DEEPSEEK_V4_FLASH_COST to the off-peak band values (so true bills during peak windows can be up to 2× the reported normalized cost).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0332dbab-7f85-42ac-b78a-c2bab0ed2442

📥 Commits

Reviewing files that changed from the base of the PR and between 48e95e1 and 9c37641.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 2 remain after this review.

Comment threadpackages/eval/src/provider-metering.ts
DeepSeek's published pricing changed since the table was written, and it is
now time-of-day dependent: peak hours (01:00-04:00 and 06:00-10:00 UTC) bill
double the off-peak rates. The old flat table (0.14 miss / 0.0028 hit / 0.28
output) matches neither band and understated real spend by roughly 2.4x on a
mostly off-peak run.
The metering checkpoint records aggregate usage without request timestamps,
so a flat table remains the only representable shape. Normalize at the
off-peak band (0.22 miss / 0.007 hit / 0.66 output) and say so in the
comment: reported cost is a normalized API-equivalent, not an invoice, and a
run that straddles peak hours bills up to 2x.
Follow-up from the #2971 review.
Generated-by: Claude Code
@Astro-Han
Astro-Hanforce-pushed the fix/eval-deepseek-pricing-current branch from 9c37641 to 51626cbCompareAugust 17, 2026 08:57
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Self-merge fast path: one-file update of a static pricing table and its comment — low impact, trivially reversible, outside the protected areas. Required checks pass. Reviewed by @Astro-Han. Follow-up from #2971's non-blocking review item.

@Astro-Han
Astro-Han merged commit 7ecc689 into mainAug 17, 2026
14 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

fix(eval): update DeepSeek V4 Flash pricing to current published rates - #3153

Merged
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current
Aug 17, 2026
Merged

fix(eval): update DeepSeek V4 Flash pricing to current published rates#3153
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up from the #2971 review (@M4n5ter's first non-blocking item): the static DeepSeek pricing was stale.

DeepSeek's published V4 Flash pricing is now time-of-day dependent — peak hours (01:00–04:00 and 06:00–10:00 UTC) bill $0.44/M cache-miss input, $0.014/M cache-hit input and $1.32/M output; all other hours bill half. The old flat table ($0.14 / $0.0028 / $0.28) matches neither band and understated real spend by roughly 2.4× on a mostly off-peak run.

The metering checkpoint records aggregate usage without request timestamps, so a flat table remains the only representable shape. This updates the table to the off-peak band and documents the normalization: reported cost is a normalized API-equivalent, not an invoice, and a run straddling peak hours bills up to 2×. Rates fetched 2026-08-17 from https://api-docs.deepseek.com/quick_start/pricing.

Verification

  • node --test dist/__tests__/external-subject.test.js — 13/13 pass, including the billing-identity test that reads the table symbolically.
  • npm run format:check — clean.
  • The 2.4× understatement was reproduced against the three-arm edit-contract run's metered usage, apportioned peak/off-peak by attempt wall-clock windows.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code authored the change and this PR body; a human contributor reviews the final diff and owns the merge decision. The commit carries a Generated-by trailer.

Checklist

  • Tests cover the change and fail without it — the billing-identity test reads the table symbolically; the rate values are data with no failing test
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@coderabbitai

coderabbitaiBot commented Aug 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ec51eadb-24a2-4332-a6fa-abfc2b11a2f8

📥 Commits

Reviewing files that changed from the base of the PR and between 9c37641 and 51626cb.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 1 remains after this review.


📝 Walkthrough

Summary

This PR updates DeepSeek V4 Flash pricing to current published off-peak rates:

  • $0.22 per million cache-miss input tokens
  • $0.007 per million cache-hit input tokens
  • $0.66 per million output tokens

Peak-hour rates are twice the off-peak rates. Metering records do not include request timestamps, so reported costs remain normalized API-equivalent estimates. They are not invoices. Runs across peak hours can incur up to twice the normalized amount.

Design

The PR extends the existing pricing table and metering path. It does not create a parallel path.

The change is small and coherent. The added documentation is necessary because the flat pricing table cannot apply UTC time-dependent rates without request timestamps.

No code or tests can be deleted or simplified without reducing pricing coverage or cost-reporting clarity.

Validation

The PR reports 13/13 tests passing and clean formatting checks. Direct check output was not provided, so the final status of required checks remains unverified.

Review-relevant risks

The pricing update changes user-visible DeepSeek V4 Flash cost estimates. Material changes in user-visible behavior require independent human review under repository policy.

No public contract, security, licensing, release, or governance effect was identified in the current diff.

The person performing the merge must review the final diff. A maintainer makes the final determination.

Walkthrough

DeepSeek V4 Flash metering now uses updated off-peak input, output, cache-read, and cache-write rates. The code documents peak-hour variation and timestamp-free cost normalization.

Changes

DeepSeek V4 Flash metering

Layer / File(s)Summary
Update pricing rates and cost basis
packages/eval/src/provider-metering.ts
The exported rates use 0.22 input, 0.66 output, 0.007 cache read, and 0.22 cache write USD per million tokens. Documentation covers peak UTC pricing and timestamp-free cost normalization.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk:🔵 Low · up to 51626

The PR replaces stale DeepSeek V4 Flash pricing with normalized off-peak rates, improving reported cost accuracy. It is mergeable with owner awareness that the existing billing test will not catch an incorrect rate value, so an independent pricing-value check remains a useful follow-up.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly and concisely describes the main change: updating DeepSeek V4 Flash pricing rates.
Description check✅ PassedThe description includes the required summary, verification, AI-use declaration, checklist, and behavior-change assessment.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe description selects generative tooling, names Claude Code and its scope, and the sole PR commit has the valid matching trailer Generated-by: Claude Code.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/eval-deepseek-pricing-current

Comment @coderabbitai help to get the list of available commands.

@Astro-Han
Astro-Han marked this pull request as ready for review August 17, 2026 08:54
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:54

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Eval’s DeepSeek V4 Flash pricing constants to match currently published rates and documents the new peak/off-peak pricing model while keeping a flat table (since metering checkpoints lack per-request timestamps).

Changes:

  • Document DeepSeek’s time-of-day (peak/off-peak) pricing and clarify that reported cost is a normalized API-equivalent, not an invoice.
  • Update DEEPSEEK_V4_FLASH_COST to the off-peak band values (so true bills during peak windows can be up to 2× the reported normalized cost).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0332dbab-7f85-42ac-b78a-c2bab0ed2442

📥 Commits

Reviewing files that changed from the base of the PR and between 48e95e1 and 9c37641.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 2 remain after this review.

Comment threadpackages/eval/src/provider-metering.ts
DeepSeek's published pricing changed since the table was written, and it is
now time-of-day dependent: peak hours (01:00-04:00 and 06:00-10:00 UTC) bill
double the off-peak rates. The old flat table (0.14 miss / 0.0028 hit / 0.28
output) matches neither band and understated real spend by roughly 2.4x on a
mostly off-peak run.
The metering checkpoint records aggregate usage without request timestamps,
so a flat table remains the only representable shape. Normalize at the
off-peak band (0.22 miss / 0.007 hit / 0.66 output) and say so in the
comment: reported cost is a normalized API-equivalent, not an invoice, and a
run that straddles peak hours bills up to 2x.
Follow-up from the #2971 review.
Generated-by: Claude Code
@Astro-Han
Astro-Hanforce-pushed the fix/eval-deepseek-pricing-current branch from 9c37641 to 51626cbCompareAugust 17, 2026 08:57
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Self-merge fast path: one-file update of a static pricing table and its comment — low impact, trivially reversible, outside the protected areas. Required checks pass. Reviewed by @Astro-Han. Follow-up from #2971's non-blocking review item.

@Astro-Han
Astro-Han merged commit 7ecc689 into mainAug 17, 2026
14 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(eval): update DeepSeek V4 Flash pricing to current published rates - #3153

Merged
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current
Aug 17, 2026
Merged

fix(eval): update DeepSeek V4 Flash pricing to current published rates#3153
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up from the #2971 review (@M4n5ter's first non-blocking item): the static DeepSeek pricing was stale.

DeepSeek's published V4 Flash pricing is now time-of-day dependent — peak hours (01:00–04:00 and 06:00–10:00 UTC) bill $0.44/M cache-miss input, $0.014/M cache-hit input and $1.32/M output; all other hours bill half. The old flat table ($0.14 / $0.0028 / $0.28) matches neither band and understated real spend by roughly 2.4× on a mostly off-peak run.

The metering checkpoint records aggregate usage without request timestamps, so a flat table remains the only representable shape. This updates the table to the off-peak band and documents the normalization: reported cost is a normalized API-equivalent, not an invoice, and a run straddling peak hours bills up to 2×. Rates fetched 2026-08-17 from https://api-docs.deepseek.com/quick_start/pricing.

Verification

  • node --test dist/__tests__/external-subject.test.js — 13/13 pass, including the billing-identity test that reads the table symbolically.
  • npm run format:check — clean.
  • The 2.4× understatement was reproduced against the three-arm edit-contract run's metered usage, apportioned peak/off-peak by attempt wall-clock windows.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code authored the change and this PR body; a human contributor reviews the final diff and owns the merge decision. The commit carries a Generated-by trailer.

Checklist

  • Tests cover the change and fail without it — the billing-identity test reads the table symbolically; the rate values are data with no failing test
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@coderabbitai

coderabbitaiBot commented Aug 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ec51eadb-24a2-4332-a6fa-abfc2b11a2f8

📥 Commits

Reviewing files that changed from the base of the PR and between 9c37641 and 51626cb.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 1 remains after this review.


📝 Walkthrough

Summary

This PR updates DeepSeek V4 Flash pricing to current published off-peak rates:

  • $0.22 per million cache-miss input tokens
  • $0.007 per million cache-hit input tokens
  • $0.66 per million output tokens

Peak-hour rates are twice the off-peak rates. Metering records do not include request timestamps, so reported costs remain normalized API-equivalent estimates. They are not invoices. Runs across peak hours can incur up to twice the normalized amount.

Design

The PR extends the existing pricing table and metering path. It does not create a parallel path.

The change is small and coherent. The added documentation is necessary because the flat pricing table cannot apply UTC time-dependent rates without request timestamps.

No code or tests can be deleted or simplified without reducing pricing coverage or cost-reporting clarity.

Validation

The PR reports 13/13 tests passing and clean formatting checks. Direct check output was not provided, so the final status of required checks remains unverified.

Review-relevant risks

The pricing update changes user-visible DeepSeek V4 Flash cost estimates. Material changes in user-visible behavior require independent human review under repository policy.

No public contract, security, licensing, release, or governance effect was identified in the current diff.

The person performing the merge must review the final diff. A maintainer makes the final determination.

Walkthrough

DeepSeek V4 Flash metering now uses updated off-peak input, output, cache-read, and cache-write rates. The code documents peak-hour variation and timestamp-free cost normalization.

Changes

DeepSeek V4 Flash metering

Layer / File(s)Summary
Update pricing rates and cost basis
packages/eval/src/provider-metering.ts
The exported rates use 0.22 input, 0.66 output, 0.007 cache read, and 0.22 cache write USD per million tokens. Documentation covers peak UTC pricing and timestamp-free cost normalization.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk:🔵 Low · up to 51626

The PR replaces stale DeepSeek V4 Flash pricing with normalized off-peak rates, improving reported cost accuracy. It is mergeable with owner awareness that the existing billing test will not catch an incorrect rate value, so an independent pricing-value check remains a useful follow-up.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly and concisely describes the main change: updating DeepSeek V4 Flash pricing rates.
Description check✅ PassedThe description includes the required summary, verification, AI-use declaration, checklist, and behavior-change assessment.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe description selects generative tooling, names Claude Code and its scope, and the sole PR commit has the valid matching trailer Generated-by: Claude Code.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/eval-deepseek-pricing-current

Comment @coderabbitai help to get the list of available commands.

@Astro-Han
Astro-Han marked this pull request as ready for review August 17, 2026 08:54
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:54

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Eval’s DeepSeek V4 Flash pricing constants to match currently published rates and documents the new peak/off-peak pricing model while keeping a flat table (since metering checkpoints lack per-request timestamps).

Changes:

  • Document DeepSeek’s time-of-day (peak/off-peak) pricing and clarify that reported cost is a normalized API-equivalent, not an invoice.
  • Update DEEPSEEK_V4_FLASH_COST to the off-peak band values (so true bills during peak windows can be up to 2× the reported normalized cost).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0332dbab-7f85-42ac-b78a-c2bab0ed2442

📥 Commits

Reviewing files that changed from the base of the PR and between 48e95e1 and 9c37641.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 2 remain after this review.

Comment threadpackages/eval/src/provider-metering.ts
DeepSeek's published pricing changed since the table was written, and it is
now time-of-day dependent: peak hours (01:00-04:00 and 06:00-10:00 UTC) bill
double the off-peak rates. The old flat table (0.14 miss / 0.0028 hit / 0.28
output) matches neither band and understated real spend by roughly 2.4x on a
mostly off-peak run.
The metering checkpoint records aggregate usage without request timestamps,
so a flat table remains the only representable shape. Normalize at the
off-peak band (0.22 miss / 0.007 hit / 0.66 output) and say so in the
comment: reported cost is a normalized API-equivalent, not an invoice, and a
run that straddles peak hours bills up to 2x.
Follow-up from the #2971 review.
Generated-by: Claude Code
@Astro-Han
Astro-Hanforce-pushed the fix/eval-deepseek-pricing-current branch from 9c37641 to 51626cbCompareAugust 17, 2026 08:57
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Self-merge fast path: one-file update of a static pricing table and its comment — low impact, trivially reversible, outside the protected areas. Required checks pass. Reviewed by @Astro-Han. Follow-up from #2971's non-blocking review item.

@Astro-Han
Astro-Han merged commit 7ecc689 into mainAug 17, 2026
14 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(eval): update DeepSeek V4 Flash pricing to current published rates - #3153

Merged
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current
Aug 17, 2026
Merged

fix(eval): update DeepSeek V4 Flash pricing to current published rates#3153
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up from the #2971 review (@M4n5ter's first non-blocking item): the static DeepSeek pricing was stale.

DeepSeek's published V4 Flash pricing is now time-of-day dependent — peak hours (01:00–04:00 and 06:00–10:00 UTC) bill $0.44/M cache-miss input, $0.014/M cache-hit input and $1.32/M output; all other hours bill half. The old flat table ($0.14 / $0.0028 / $0.28) matches neither band and understated real spend by roughly 2.4× on a mostly off-peak run.

The metering checkpoint records aggregate usage without request timestamps, so a flat table remains the only representable shape. This updates the table to the off-peak band and documents the normalization: reported cost is a normalized API-equivalent, not an invoice, and a run straddling peak hours bills up to 2×. Rates fetched 2026-08-17 from https://api-docs.deepseek.com/quick_start/pricing.

Verification

  • node --test dist/__tests__/external-subject.test.js — 13/13 pass, including the billing-identity test that reads the table symbolically.
  • npm run format:check — clean.
  • The 2.4× understatement was reproduced against the three-arm edit-contract run's metered usage, apportioned peak/off-peak by attempt wall-clock windows.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code authored the change and this PR body; a human contributor reviews the final diff and owns the merge decision. The commit carries a Generated-by trailer.

Checklist

  • Tests cover the change and fail without it — the billing-identity test reads the table symbolically; the rate values are data with no failing test
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@coderabbitai

coderabbitaiBot commented Aug 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ec51eadb-24a2-4332-a6fa-abfc2b11a2f8

📥 Commits

Reviewing files that changed from the base of the PR and between 9c37641 and 51626cb.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 1 remains after this review.


📝 Walkthrough

Summary

This PR updates DeepSeek V4 Flash pricing to current published off-peak rates:

  • $0.22 per million cache-miss input tokens
  • $0.007 per million cache-hit input tokens
  • $0.66 per million output tokens

Peak-hour rates are twice the off-peak rates. Metering records do not include request timestamps, so reported costs remain normalized API-equivalent estimates. They are not invoices. Runs across peak hours can incur up to twice the normalized amount.

Design

The PR extends the existing pricing table and metering path. It does not create a parallel path.

The change is small and coherent. The added documentation is necessary because the flat pricing table cannot apply UTC time-dependent rates without request timestamps.

No code or tests can be deleted or simplified without reducing pricing coverage or cost-reporting clarity.

Validation

The PR reports 13/13 tests passing and clean formatting checks. Direct check output was not provided, so the final status of required checks remains unverified.

Review-relevant risks

The pricing update changes user-visible DeepSeek V4 Flash cost estimates. Material changes in user-visible behavior require independent human review under repository policy.

No public contract, security, licensing, release, or governance effect was identified in the current diff.

The person performing the merge must review the final diff. A maintainer makes the final determination.

Walkthrough

DeepSeek V4 Flash metering now uses updated off-peak input, output, cache-read, and cache-write rates. The code documents peak-hour variation and timestamp-free cost normalization.

Changes

DeepSeek V4 Flash metering

Layer / File(s)Summary
Update pricing rates and cost basis
packages/eval/src/provider-metering.ts
The exported rates use 0.22 input, 0.66 output, 0.007 cache read, and 0.22 cache write USD per million tokens. Documentation covers peak UTC pricing and timestamp-free cost normalization.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk:🔵 Low · up to 51626

The PR replaces stale DeepSeek V4 Flash pricing with normalized off-peak rates, improving reported cost accuracy. It is mergeable with owner awareness that the existing billing test will not catch an incorrect rate value, so an independent pricing-value check remains a useful follow-up.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly and concisely describes the main change: updating DeepSeek V4 Flash pricing rates.
Description check✅ PassedThe description includes the required summary, verification, AI-use declaration, checklist, and behavior-change assessment.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe description selects generative tooling, names Claude Code and its scope, and the sole PR commit has the valid matching trailer Generated-by: Claude Code.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/eval-deepseek-pricing-current

Comment @coderabbitai help to get the list of available commands.

@Astro-Han
Astro-Han marked this pull request as ready for review August 17, 2026 08:54
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:54

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Eval’s DeepSeek V4 Flash pricing constants to match currently published rates and documents the new peak/off-peak pricing model while keeping a flat table (since metering checkpoints lack per-request timestamps).

Changes:

  • Document DeepSeek’s time-of-day (peak/off-peak) pricing and clarify that reported cost is a normalized API-equivalent, not an invoice.
  • Update DEEPSEEK_V4_FLASH_COST to the off-peak band values (so true bills during peak windows can be up to 2× the reported normalized cost).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0332dbab-7f85-42ac-b78a-c2bab0ed2442

📥 Commits

Reviewing files that changed from the base of the PR and between 48e95e1 and 9c37641.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 2 remain after this review.

Comment threadpackages/eval/src/provider-metering.ts
DeepSeek's published pricing changed since the table was written, and it is
now time-of-day dependent: peak hours (01:00-04:00 and 06:00-10:00 UTC) bill
double the off-peak rates. The old flat table (0.14 miss / 0.0028 hit / 0.28
output) matches neither band and understated real spend by roughly 2.4x on a
mostly off-peak run.
The metering checkpoint records aggregate usage without request timestamps,
so a flat table remains the only representable shape. Normalize at the
off-peak band (0.22 miss / 0.007 hit / 0.66 output) and say so in the
comment: reported cost is a normalized API-equivalent, not an invoice, and a
run that straddles peak hours bills up to 2x.
Follow-up from the #2971 review.
Generated-by: Claude Code
@Astro-Han
Astro-Hanforce-pushed the fix/eval-deepseek-pricing-current branch from 9c37641 to 51626cbCompareAugust 17, 2026 08:57
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Self-merge fast path: one-file update of a static pricing table and its comment — low impact, trivially reversible, outside the protected areas. Required checks pass. Reviewed by @Astro-Han. Follow-up from #2971's non-blocking review item.

@Astro-Han
Astro-Han merged commit 7ecc689 into mainAug 17, 2026
14 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

fix(eval): update DeepSeek V4 Flash pricing to current published rates - #3153

Merged
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current
Aug 17, 2026
Merged

fix(eval): update DeepSeek V4 Flash pricing to current published rates#3153
Astro-Han merged 1 commit into
mainfrom
fix/eval-deepseek-pricing-current

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up from the #2971 review (@M4n5ter's first non-blocking item): the static DeepSeek pricing was stale.

DeepSeek's published V4 Flash pricing is now time-of-day dependent — peak hours (01:00–04:00 and 06:00–10:00 UTC) bill $0.44/M cache-miss input, $0.014/M cache-hit input and $1.32/M output; all other hours bill half. The old flat table ($0.14 / $0.0028 / $0.28) matches neither band and understated real spend by roughly 2.4× on a mostly off-peak run.

The metering checkpoint records aggregate usage without request timestamps, so a flat table remains the only representable shape. This updates the table to the off-peak band and documents the normalization: reported cost is a normalized API-equivalent, not an invoice, and a run straddling peak hours bills up to 2×. Rates fetched 2026-08-17 from https://api-docs.deepseek.com/quick_start/pricing.

Verification

  • node --test dist/__tests__/external-subject.test.js — 13/13 pass, including the billing-identity test that reads the table symbolically.
  • npm run format:check — clean.
  • The 2.4× understatement was reproduced against the three-arm edit-contract run's metered usage, apportioned peak/off-peak by attempt wall-clock windows.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Claude Code authored the change and this PR body; a human contributor reviews the final diff and owns the merge decision. The commit carries a Generated-by trailer.

Checklist

  • Tests cover the change and fail without it — the billing-identity test reads the table symbolically; the rate values are data with no failing test
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@coderabbitai

coderabbitaiBot commented Aug 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ec51eadb-24a2-4332-a6fa-abfc2b11a2f8

📥 Commits

Reviewing files that changed from the base of the PR and between 9c37641 and 51626cb.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 1 remains after this review.


📝 Walkthrough

Summary

This PR updates DeepSeek V4 Flash pricing to current published off-peak rates:

  • $0.22 per million cache-miss input tokens
  • $0.007 per million cache-hit input tokens
  • $0.66 per million output tokens

Peak-hour rates are twice the off-peak rates. Metering records do not include request timestamps, so reported costs remain normalized API-equivalent estimates. They are not invoices. Runs across peak hours can incur up to twice the normalized amount.

Design

The PR extends the existing pricing table and metering path. It does not create a parallel path.

The change is small and coherent. The added documentation is necessary because the flat pricing table cannot apply UTC time-dependent rates without request timestamps.

No code or tests can be deleted or simplified without reducing pricing coverage or cost-reporting clarity.

Validation

The PR reports 13/13 tests passing and clean formatting checks. Direct check output was not provided, so the final status of required checks remains unverified.

Review-relevant risks

The pricing update changes user-visible DeepSeek V4 Flash cost estimates. Material changes in user-visible behavior require independent human review under repository policy.

No public contract, security, licensing, release, or governance effect was identified in the current diff.

The person performing the merge must review the final diff. A maintainer makes the final determination.

Walkthrough

DeepSeek V4 Flash metering now uses updated off-peak input, output, cache-read, and cache-write rates. The code documents peak-hour variation and timestamp-free cost normalization.

Changes

DeepSeek V4 Flash metering

Layer / File(s)Summary
Update pricing rates and cost basis
packages/eval/src/provider-metering.ts
The exported rates use 0.22 input, 0.66 output, 0.007 cache read, and 0.22 cache write USD per million tokens. Documentation covers peak UTC pricing and timestamp-free cost normalization.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk:🔵 Low · up to 51626

The PR replaces stale DeepSeek V4 Flash pricing with normalized off-peak rates, improving reported cost accuracy. It is mergeable with owner awareness that the existing billing test will not catch an incorrect rate value, so an independent pricing-value check remains a useful follow-up.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly and concisely describes the main change: updating DeepSeek V4 Flash pricing rates.
Description check✅ PassedThe description includes the required summary, verification, AI-use declaration, checklist, and behavior-change assessment.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Ai Use Disclosure✅ PassedThe description selects generative tooling, names Claude Code and its scope, and the sole PR commit has the valid matching trailer Generated-by: Claude Code.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/eval-deepseek-pricing-current

Comment @coderabbitai help to get the list of available commands.

@Astro-Han
Astro-Han marked this pull request as ready for review August 17, 2026 08:54
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:54

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Eval’s DeepSeek V4 Flash pricing constants to match currently published rates and documents the new peak/off-peak pricing model while keeping a flat table (since metering checkpoints lack per-request timestamps).

Changes:

  • Document DeepSeek’s time-of-day (peak/off-peak) pricing and clarify that reported cost is a normalized API-equivalent, not an invoice.
  • Update DEEPSEEK_V4_FLASH_COST to the off-peak band values (so true bills during peak windows can be up to 2× the reported normalized cost).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0332dbab-7f85-42ac-b78a-c2bab0ed2442

📥 Commits

Reviewing files that changed from the base of the PR and between 48e95e1 and 9c37641.

📒 Files selected for processing (1)
  • packages/eval/src/provider-metering.ts

Included review availability: Your plan includes up to 3 reviews per rolling hour; 2 remain after this review.

Comment threadpackages/eval/src/provider-metering.ts
DeepSeek's published pricing changed since the table was written, and it is
now time-of-day dependent: peak hours (01:00-04:00 and 06:00-10:00 UTC) bill
double the off-peak rates. The old flat table (0.14 miss / 0.0028 hit / 0.28
output) matches neither band and understated real spend by roughly 2.4x on a
mostly off-peak run.
The metering checkpoint records aggregate usage without request timestamps,
so a flat table remains the only representable shape. Normalize at the
off-peak band (0.22 miss / 0.007 hit / 0.66 output) and say so in the
comment: reported cost is a normalized API-equivalent, not an invoice, and a
run that straddles peak hours bills up to 2x.
Follow-up from the #2971 review.
Generated-by: Claude Code
@Astro-Han
Astro-Hanforce-pushed the fix/eval-deepseek-pricing-current branch from 9c37641 to 51626cbCompareAugust 17, 2026 08:57
@hqhq1025
hqhq1025 requested a lite review from CopilotAugust 17, 2026 08:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@Astro-Han

Copy link
Copy Markdown
ContributorAuthor

Self-merge fast path: one-file update of a static pricing table and its comment — low impact, trivially reversible, outside the protected areas. Required checks pass. Reviewed by @Astro-Han. Follow-up from #2971's non-blocking review item.

@Astro-Han
Astro-Han merged commit 7ecc689 into mainAug 17, 2026
14 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Astro-Han