Found by an independent review of #1153 at 80348bf (and raised by pdettori there as a suggestion); deferred by the author's call.
After #1153 a unit is host-wide, and only rows in an endpoint's unit may price its traffic. A block with unit: and no hosts: (or hosts: ["*"]) covers every endpoint, so every endpoint no more specific block names takes that unit — and the bundled dollar table stops pricing anything there.
Measured at 80348bf with hosts: ["*"], unit: credits, models: {premium-ide} and the bundled table on:
api.anthropic.com claude-opus-4-1 unit=credits prov=none
At a66911e the same request was unit=USD prov=bundled. The unpricing is loud (unpricedBy names every pair); the other half is silent: a charge any of those endpoints reports itself is labelled credits.
Shape of a fix
Refuse a non-USD unit: on a hostless or "*" block at startup, beside the multiplier-only refusal — a unit is a gateway's, so its hosts should be named — with one row added to TestConfig_AUnitOnAMultiplierOnlyBlockIsRefused's table or a sibling.
Assisted-By: Claude (Anthropic AI) noreply@anthropic.com
Found by an independent review of #1153 at 80348bf (and raised by pdettori there as a suggestion); deferred by the author's call.
After #1153 a unit is host-wide, and only rows in an endpoint's unit may price its traffic. A block with
unit:and nohosts:(orhosts: ["*"]) covers every endpoint, so every endpoint no more specific block names takes that unit — and the bundled dollar table stops pricing anything there.Measured at 80348bf with
hosts: ["*"], unit: credits, models: {premium-ide}and the bundled table on:At a66911e the same request was
unit=USD prov=bundled. The unpricing is loud (unpricedBynames every pair); the other half is silent: a charge any of those endpoints reports itself is labelled credits.Shape of a fix
Refuse a non-USD
unit:on a hostless or"*"block at startup, beside the multiplier-only refusal — a unit is a gateway's, so its hosts should be named — with one row added toTestConfig_AUnitOnAMultiplierOnlyBlockIsRefused's table or a sibling.Assisted-By: Claude (Anthropic AI) noreply@anthropic.com