entityProviderRetry function
Bounded Riverpod 3 retry policy shared by fetch providers.
Terminal errors never retry. Transient failures receive at most two retry attempts with exponential backoff, so a provider cannot loop indefinitely.
Implementation
Duration? entityProviderRetry(int retryCount, Object error) {
final typed = toEntityGraphError(error);
if (typed is TerminalError || retryCount >= 2) return null;
return Duration(milliseconds: 200 * (1 << retryCount));
}