# Timeout или first-result не завершает scope по контракту

RuleID: concurrency.timeout-sibling-outlives-race@1.0.0
Status: recovery-required
Catalog snapshot: 4558458d

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

## V-ASYNC-11 — Timeout или first-result не завершает scope по контракту

Возврат первого результата из task group не завершает scope, пока не завершились остальные children. Timeout может оказаться фиктивным.

Status: recovery-required

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

### Before (illustrative)

```swift
// Race: быстрый timeout и child с бесконечным blocking wait.
// group.cancelAll() не останавливает blocking child.
```

### After (illustrative)

```swift
// Все children завершаются при cancellation.
// Blocking API имеет собственный stop/close протокол.
```

Boundary: Timeout не является принудительным kill; runtime latency не выводить из syntax

---
Language: ru
Canonical: https://docs.swift-analyzer.com/catalog/concurrency.timeout-sibling-outlives-race/
Source revision: 4558458d
