After a command-source change the retained cost map still holds the previous context's snapshots. A partial reply from the new source merged those snapshots for its failed providers and then stamped the result with the new source, re-tagging old costs as current on both the provider meters and Usage & Spend. The merge now retains against an empty map unless tokenCostsContext already matches costCommandSource; same-context failure retention is unchanged. Cover: partial-refresh QML case in test_cost_context.py (cross-source drop + same-source retain, negative-controlled), static ui-regression pin on the guard. CHANGELOG updated. Co-Authored-By: Claude Code <noreply@anthropic.com>
Simone committed on 9/10/2026, 11:45:34 AMparent77dcf05
4 files changedLine totals unavailable