ci: lock generated OpenAPI contract

This commit is contained in:
ik
2026-09-12 21:03:37 +07:00
parent d4ded77355
commit 8d7fab97b9
6 changed files with 3330 additions and 1 deletions
+13
View File
@@ -0,0 +1,13 @@
# Контракт API
`apps/api/openapi.json` — автоматически сгенерированный снимок фактического FastAPI-контракта. Он фиксирует пути, методы, параметры, response schemas и security metadata перед декомпозицией routers. Файл нельзя править вручную.
После осознанного изменения API:
```bash
.venv/bin/python apps/api/export_openapi.py
git diff -- apps/api/openapi.json
.venv/bin/python apps/api/export_openapi.py --check
```
CI выполняет режим `--check` после тестов и падает, если код и committed artifact расходятся. Изменение снимка должно находиться в том же коммите, что реализация и тесты нового контракта. Перестановка routers без изменения публичного поведения не должна менять artifact.