# Retry/refresh образует цикл без progress/budget

RuleID: portfolio.stream.05@1.0.0
Status: recovery-required
Catalog snapshot: 4558458d

Accepted subset is bounded. If required evidence is incomplete, the affected result is unknown.

## V-STREAM-05 — Retry/refresh образует цикл без progress/budget

Retry без прогресса, лимита или backoff может бесконечно нагружать сервис и удерживать задачу.

Status: recovery-required

Scope notes: Source producer требует восстановления и квалификации. Если необходимые факты не получены, результат — unknown, а не «ошибки нет».

### Before (illustrative)

```swift
while true {
    do { return try await fetch() } catch { }
}
```

### After (illustrative)

```swift
// Ограничить attempts и deadline, классифицировать errors,
// ждать backoff с cancellation и jitter по policy.
```

Boundary: Намеренный supervised retry и ограниченный refresh window

---
Language: ru
Canonical: https://docs.swift-analyzer.com/catalog/portfolio.stream.05/
Source revision: 4558458d
