2 minute readFixedAgent-ready
Prices under $10, sub-cent prices and cost floors fixed
Charm endings no longer push cheap prices up, sub-cent prices never round to zero, and a price is never below the unit cost you send unless you save guardrails that allow it.
Several edge cases in the price you get back from a compute call are fixed. Some answers change, always toward the price the model actually recommends.
- A .99 ending is added only when it moves the price by 3% or less, and the nearest ending wins, below the price as readily as above. A price of $1.01 used to come back as $1.99, and $0.46 as $0.99; under $10 the ending could add up to 116%. The psychological pricing function still always sets an ending, the nearest one inside your range and above cost.
- Prices are returned in whole cents without ever rounding under a floor. A unit cost of $0.002, or a minimum of $0.001, used to give a price of $0; it is now $0.01. When no whole-cent price fits between your minimum and maximum, the minimum wins and the explanation says so.
- A workspace that never saved price guardrails is now held to the default rule never to price below the unit cost you send. Before, only a saved rule did, so a $30 cost could come back as a $20 price. No other guardrail applies until you save them, and you can save
never_below_cost: falseto allow a lower price. - A
min_priceabovemax_priceis refused with a 400 andcode: conflicting_pricing_inputs, like other inputs that contradict each other, instead of quietly returning the maximum. - An A/B elasticity measured with a control price more than 5% away from your current price is capped at 0.5 confidence, and the explanation says the test was run at a different price.
- When a price is held under cost by the top of the default range, the explanation now says so rather than naming a maximum price you never sent.
- A lowercase currency code comes back uppercase.
- A custom model or external function with no model provider or endpoint set up now answers 503 and says so, instead of quietly returning the default optimizer's price under its name. Your fallback chain, if you have one, still answers.
