Skip to content

feat: custom prices override reported costs; follow provider extends - #7

Merged
stv1024 merged 2 commits into
mainfrom
feat/prefer-estimates
Oct 23, 2026
Merged

stv1024 merged 2 commits into
mainfrom
feat/prefer-estimates

Conversation

@stv1024

@stv1024 stv1024 commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

Closes #1.

Changes

  • New setting: Custom prices override reported costs (customPricesOverride, off by default). When a pricing.json price matches, it replaces the runtime-reported cost. A runtime can report a list-price fallback for local or unbilled models. Add providers to an entry to limit it to one provider.
    • OpenRouter and built-in prices never replace a reported cost. They miss cache writes, which the reported Claude cost includes.
    • The reported value stays in the ledger file. Turning the setting off restores it.
  • Provider extends. A custom provider that declares extends: "claude" or extends: "codex" in the daemon config now follows its base harness. Before, such a provider (for example local-claude) was an unknown-scope snapshot, so it had no per-turn usage and no price.
    • The plugin reads provider bases with paseo.config.get() (available since Paseo 0.11.0), at most every 30 seconds. It keeps only provider names and base names.
    • New records store the resolved harness, so a later config change does not reinterpret them. Earlier records of such providers stay unknown-scope snapshots.

Verification

  • Typecheck and 76 unit tests pass. New tests cover the override scope, reference prices that do not override, and an extends provider with a synthetic name.
  • Live daemon: the plugin reads the extends entries of the provider config, and a test turn records normally.

🤖 Generated with Claude Code

stv1024 and others added 2 commits October 23, 2026 13:03
Runtimes can report a list-price fallback for models they do not know,
so local or unbilled turns show a cost that was never charged. When the
new host setting is on and a custom or reference price matches, that
estimate replaces the reported cost. Turns without a price keep the
reported cost, and the ledger file still stores the raw value.

Closes #1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rename the unreleased "Prefer price estimates" setting to "Custom prices
override reported costs" (customPricesOverride). Only a matching
pricing.json price replaces a runtime-reported cost; OpenRouter and
built-in prices never do, because they miss cache writes that the
reported Claude cost includes.

Custom providers that declare extends: claude/codex in the daemon config
now follow their base harness. The plugin reads provider bases through
paseo.config.get() (throttled), and new records store the resolved
harness so later config changes do not reinterpret them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@stv1024 stv1024 changed the title Add a setting to prefer price estimates over reported costs feat: custom prices override reported costs; follow provider extends Oct 23, 2026
@stv1024
stv1024 merged commit 00f1190 into main Oct 23, 2026
4 checks passed
@stv1024
stv1024 deleted the feat/prefer-estimates branch October 23, 2026 07:36
Sign up for free to 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.

Prefer price estimates over provider-reported costs for local/custom models

1 participant