parseTonight now rejects a tonight dinner without the minutes_total key instead of reading it as null; an explicit null is still valid. The Home API always emits the key. parseShoppingList checks the label against weekStart for unready lists too, since the API supplies it regardless of readiness. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>