* fix(spend): preserve calendar gaps in activity heatmaps Keep unavailable metric days as empty calendar slots so the heatmap retains weekday alignment and its calendar span. Preserve measured zero and legacy labels, with bounded UTC date arithmetic. Documentation: update usage, cost-history rules, and Unreleased. TODO is unchanged because this fixes existing frontend presentation without a new CLI contract. * fix(spend): retain unavailable heatmap boundary days Use the unfiltered normalized history dates to preserve first and last calendar slots when the selected metric is absent. Share the expanded calendar between heatmap visibility, column count, and cells. Documentation: clarify boundary-day behavior in usage and cost history. TODO remains unaffected. Reproduced all four review cases before the fix; 124 presentation QtTests pass.
7 files changedLine totals unavailable