# Прежняя сигнатура получила несовместимое поведение

RuleID: portfolio.change.03@1.0.0
Status: recovery-required
Catalog snapshot: 4558458d

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

## V-CHANGE-03 — Прежняя сигнатура получила несовместимое поведение

Неизменная сигнатура может скрывать смену порядка, ошибок, побочных эффектов или иного поведения, на которое опирается consumer.

Status: recovery-required

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

### Before (illustrative)

```swift
// Было: callback ровно один раз после commit.
// Стало: callback вызывается до commit.
```

### After (illustrative)

```swift
// Сохранить наблюдаемый контракт
// либо согласованно изменить consumers и версию API.
```

Boundary: Разница implementation без observable change

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