A community based topic aggregation platform built on atproto

feat: add circuit breaker for unfurl providers master

Implement circuit breaker pattern to handle external provider failures gracefully and prevent cascading failures when unfurl services are down. Changes: - Add circuit_breaker.go with state management (Closed, Open, HalfOpen) - Implement automatic recovery with exponential backoff - Add comprehensive circuit breaker unit tests - Integrate circuit breaker into unfurl service - Fix defer response.Body.Close() errors in providers - Fix linting issues in kagi_test.go and opengraph_test.go The circuit breaker tracks failures per provider and automatically opens when failure threshold is reached, preventing wasted requests to failing services. After a cooldown period, it transitions to half-open to test if the service has recovered. Configuration: - Failure threshold: 5 consecutive failures - Timeout: 10 seconds - Reset timeout: 60 seconds (before attempting recovery) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>