Fix supervisor blocking during daily dream processing
The supervision loop was blocked for 20+ minutes during midnight dream
processing, preventing process restarts and health monitoring. Changed
daily dream to run in a background thread with state tracking so the
loop continues running.
Key changes:
- Add _daily_state dict to track dream execution (running/completed)
- New _run_daily_dream() spawns dream in background thread
- handle_daily_tasks() now non-blocking, spawns thread on day change
- Scheduled agents only run after dream completes successfully
- Restart handler ignores already-exited processes (auto-restart handles)
- Remove dead run_dream()/run_subprocess_task() functions
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>