Adds a daily_pnl SQLite table that accumulates trade history indefinitely. On each hourly fetch, fresh API data is upserted (not replaced) so entries older than Tradovate's 28-day limit are preserved. Cache is loaded at startup and used as fallback when both report requests fail. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>