fix(cost): resolve snapshot-suffixed model IDs to base pricing before conservative estimate

OpenRouter sometimes returns a dated snapshot ID as the response model
(request deepseek/deepseek-v4-flash -> response model
deepseek/deepseek-v4-flash-20260423). The pricing chain missed the
registry on those IDs and booked the conservative $10/$30 per-M
estimate: today's prod single-pass run logged $0.582 against a true
flash-tier cost of roughly 1-2 cents. Inflated actuals eat the
Cost_Governor per-run ceiling (default $0.50; today's run would have
halted) and the monthly $5 budget gate (~9 days to self-block).

Fix at the single pricing seam (OpenRouter_Pricing::estimate_cost):
on a lookup miss, strip a trailing 8-digit 20-prefixed -YYYYMMDD
snapshot suffix and retry the hardcoded table + cached models list
once with the base ID. The conservative fallback is unchanged when
the base ID is also unknown. Governor reserve/settle and
generation-log booking all price through this seam, so every path
survives snapshot IDs.

Tests: snapshot ID resolves to the base price when only the base ID
is registered; an unknown ID without a suffix still gets the
conservative estimate; a non-date trailing digit run (foo-202612345)
is never stripped.

Agent-Session: pipeline-v2-phase1-pricing-fix-20260611
This commit is contained in:
peptiderepo
2026-06-11 05:31:57 +00:00
parent 1062af2815
commit e6e3f85542
3 changed files with 171 additions and 13 deletions

View File

@@ -99,6 +99,12 @@ behavior change** to the Economy (single-pass) and multi-step publish paths.
columns when the columns are missing (a cron run right after deploy no longer loses cost
rows), and the db-version self-heal now also runs on cron requests (`init` +
`wp_doing_cron()`), not only on `admin_init`.
- OpenRouter pricing now resolves dated snapshot model IDs returned by the API
(e.g. response model `deepseek/deepseek-v4-flash-20260423` for a
`deepseek/deepseek-v4-flash` request) to the base model's price before the
conservative-estimate fallback applies. Such responses were previously booked
at the conservative $10/$30 per-M rate (~30x real cost on flash-tier models) —
phantom spend that ate the per-run cost ceiling and the monthly budget gate.
## [0.17.0] - 2026-06-11