Receipt 0.2.1 — hardening
Hardening and polish for the usage-awareness feature shipped in 0.2.0. No breaking changes.
- Provider-aware lever. The what-if suggestion now picks the cheapest model from the same provider — an OpenAI-heavy branch is told about
gpt-4.1-nano, not a Claude model. - Foolproof plan lookup. A malformed or hand-edited plan id (e.g.
toString) can no longer resolve to an inherited object member and poison the budget.budget planvalidates strictly. - Cleaner distribution. Task sizes and records ignore unscoped proxy-only usage, so "≈ 2 PRs" reflects your real branches.
- Quieter proxy. Rate-limit capture skips no-op disk writes.
- Opt-out. Set
"usage": falsein.receipt/config.jsonto drop the block from the PR comment andreceipt show.
67 tests, typecheck clean. Verified end-to-end across empty / no-plan / full scenarios. MIT.