What problem does it solve? Outbound HTTP calls built on Feign often ship with no timeouts, stacked retry layers, raw FeignException leaks, and unsafe retries of non-idempotent writes, causing thread-pool exhaustion, duplicate resource creation, and leaked secrets in logs. ## Core Features & Use Cases - Resilience rules: Mandates explicit connect/read timeouts and connection pool sizing, disables Feign's built-in retryer, and centralizes retry, backoff, and circuit-breaking in Resilience4j. - Typed error handling: Requires a reusable ErrorDecoder mapping HTTP status codes to typed domain exceptions so raw FeignException never crosses the client boundary. - Safe retry and contract hygiene: Restricts automatic retries to idempotent operations or POSTs carrying an Idempotency-Key, enforces immutable DTOs with @JsonIgnoreProperties, versioned base paths, and header propagation via RequestInterceptor. - Use Case: When adding a new Catalog API client to a Spring service, apply these rules to configure timeouts, a Resilience4j wrapper, a DomainErrorDecoder, and masked logging before the client ships. ## Quick Start Review my new Feign client for the Catalog API against these conventions and fix any missing timeouts, retry misconfiguration, or error decoding gaps.