v0.4.2 — Production Hardening
Fixed
- Remove "creative" capability — removed unused
"creative"capability from decomposition prompt, curated model mapping, and test fixtures; the router had no creative patterns so it was silently restricting fallback to Anthropic-only models - Budget consistency in async executor —
aexecute()now passesstep.estimated_cost(notestimated_cost * 2) as the budget for each step, matching the reservation amount - Multi-capability downgrade —
_optimize_for_budgetnow checks all required capabilities when downgrading models, not just the first; prevents a step needing["code", "reasoning"]from being downgraded to a code-only model - max_tokens budget guardrail —
_execute_stepand_aexecute_stepnow compute and passmax_tokensbased on remaining budget, preventing a single completion from overshooting; steps with budget below 100 output tokens are skipped gracefully
Changed
- README restructured — moved blog post link to after Quick Start; softened absolute claims about cost ledger coverage
- Registry —
find_models()andcheapest()accept acapabilitieslist parameter for multi-capability filtering
Full changelog: https://github.com/itsarbit/tokenwise/blob/master/CHANGELOG.md