Версия источника: 4880e8b4372c96001c2e052be28b68a95d31252b
Синхронизировано: 2026-11-09T11:15:07.649Z
Источник: https://github.com/sergey-from-riders/vibecoding-base/tree/4880e8b4372c96001c2e052be28b68a95d31252b

<a id="api-compatibility"></a>

# Совместимость API

## Коротко

Удаление поля или изменение его смысла требует совместимости со старыми клиентами.

## Плохо

```text
amount вчера означал рубли, сегодня — копейки.
```

## Хорошо

```text
Новое поле amount_minor.
Старое поддерживается на время перехода.
```

## Почему

Клиент может продолжить работать без ошибки, но с неверными данными.

## Когда применять

Срок перехода согласуется с потребителями. 90 дней — возможная политика проекта, а не универсальное требование протокола.

## Как проверить

- Старый клиент проходит контрактные тесты новой версии?

## Человек

Определяет поддерживаемых клиентов и срок перехода на новый контракт.

## Агент

Реализует серверный контракт и проверяет успешный запрос, неверный ввод и повторное обращение.

Контроль результата:

- Старый клиент проходит контрактные тесты новой версии?

## Источники

- [AIP-180: Backwards compatibility](https://google.aip.dev/180)

Уровень: Обязательно. Проверено: 2026-11-09. Изменено: 2026-11-09.

[Исходный файл](https://github.com/sergey-from-riders/vibecoding-base/blob/4880e8b4372c96001c2e052be28b68a95d31252b/registry/standards/api/openapi-modular/rules/compatibility.md)
