# Вход в MainActor без доказанного контекста

RuleID: concurrency.unproven-mainactor-entry@1.0.0
Status: recovery-required
Catalog snapshot: 4558458d

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

## V-EXEC-02 — Вход в MainActor без доказанного контекста

Внешняя точка входа может вызывать UI-код без проверенного контракта MainActor. Это повод проверить границу, а не автоматически объявить гонку.

Status: recovery-required

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

### Before (illustrative)

```swift
// Контракт внешнего callback не описан.
foreignAPI.callback = { renderUI() }
```

### After (illustrative)

```swift
// Адаптер явно доставляет событие на MainActor.
foreignAPI.callback = { event in
    Task { @MainActor in renderUI(event) }
}
```

Boundary: Это вопрос для проверки, а не утверждение о background thread

---
Language: ru
Canonical: https://docs.swift-analyzer.com/catalog/concurrency.unproven-mainactor-entry/
Source revision: 4558458d
