Process dirty days at midnight instead of just previous day
Replace the single prev_day dream submission in handle_daily_tasks()
with dirty_days()-based catchup. At midnight, the newest 4 dirty days
are queued oldest-first so yesterday is always processed last. Dream
auto-detects dirty state and enables --refresh internally, so we no
longer pass it explicitly. Days with no stream data are naturally
skipped.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>