- RouteDescriptionGenerator: reuse session, cap tokens at 60, greedy
sampling, prewarm with prompt prefix, serial request queue with
rate-limit retry and circuit breaker
- Disable AI/template descriptions on trip option cards
- GameDAGRouter: fix off-by-one in canTransition driving constraint
(daysBetween+1) so multi-day cross-city routes aren't rejected
- CanonicalSyncService: wrap SyncStatusMonitor in #if DEBUG
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>