fix(pricing): an unedited copy of the template can no longer price a run at $0 - #73
Merged
Merged
Conversation
…run at $0 docs/pricing.example.json shipped 0.0 prices, and its own note says 0 is the claim that tokens are free. A copy used as it came priced every call at nothing, so --max-cost-usd let any run through. The template's prices are now null and its as_of is the placeholder YYYY-MM-DD, which the loader refuses with a message saying what to fill in. Separately, any entry that prices both input and output at exactly 0 is refused unless it says "free": true, since that is also what a half-filled template looks like; "free": true with a nonzero price is refused as contradictory. The test that asserted the template loads as shipped now asserts it is refused, and a second one asserts it loads once filled in. Fixes #28. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
TMHSDigital
added a commit
that referenced
this pull request
Sep 23, 2026
…err (#74) The deploy after #73 failed before publishing: the smoke test waited 20s for Chrome to print its DevTools address on stderr, and on that runner it printed nothing at all. The same test passed on the pull request, so this was the start-up, not the site. The test now picks a free port itself and polls Chrome's /json/version until it answers, up to a minute per attempt, and starts a fresh Chrome up to three times if one stalls or exits, printing what happened. It also passes --disable-dev-shm-usage, the usual guard for a small /dev/shm on CI machines. Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #28.
docs/pricing.example.jsonshipped0.0for every price. The file's own note says 0 is the claim that tokens are free, so a copy used unedited priced every call at nothing, and--max-cost-usdlet any run through.What changed
nullandas_ofis the placeholderYYYY-MM-DD. The loader refuses that placeholder with a message saying what to fill in, so an unedited copy cannot price a run at all.config.py):"free": true, because that is also what a half-filled template looks like."free": truealongside a nonzero price is refused as contradictory.Checked
mainand pass now:free: trueloads and costs 0;plumbline run tiny.jsonl --adapter mock --pricing docs/pricing.example.jsonexits 1 with the placeholder message, before any call.ruff,mypy --strict, and the fullpytestsuite pass, and the prose checks are clean.🤖 Generated with Claude Code