Live 0.20.0: A (Leftover solar, 60 %) charged to 95 % while B (Cheap hours, 94 %) already covered the expensive hours. dayplan.plan() now takes off the shortfall what Cheap hours batteries will hold when the hours start (the ceiling or what their cheap run reaches under the peak aim) and what Solar first batteries will still hold after the night's use. Home reads a give block after the planned charge, plan_cover() is the plan's own figure, and the Why line says other batteries cover. Co-Authored-By: Claude <noreply@anthropic.com>