# Поток не завершён на обязательном terminal path

RuleID: portfolio.stream.04@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-04 — Поток не завершён на обязательном terminal path

Отсутствие finish после терминального события оставляет consumer ждать данные, которые уже никогда не придут.

Status: recovery-required

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

### Before (illustrative)

```swift
source.onEnd = { cleanup() }
// continuation не завершена.
```

### After (illustrative)

```swift
source.onEnd = {
    cleanup()
    continuation.finish()
}
```

Boundary: Намеренно бесконечный stream или ownership transfer

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