2a0496b915
- ExerciseResearchPanel: add ProviderBadge component showing which AI tier (Ollama/Gemini/OpenRouter/OpenCode/Exa) served the response - Add auto-retry on 429/503 with 2s delay and retry counter in button - Normalize error messages for common failure modes (network, rate-limit) - ResearchDisplay: pass onRetry prop to error state for inline retry button - CSS: .research-panel-controls flex row, .provider-badge with per-provider colour coding, .rd-error-actions + .rd-retry button styles