docs(dev): checks.md — замечания ревью задачи 4.1 (T1.1–T1.4)
Уточнены: fixtures только в arm-core, mypy scripts у arm-core, формулировка про инфраструктуру compose и «одинаковую семантику» целей. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
This commit is contained in:
parent
b08df040e9
commit
792042ffad
@ -5,13 +5,14 @@
|
||||
(`openspec/changes/slice-0-skeleton/specs/quality-checks/spec.md`), решение D-8.
|
||||
|
||||
Все цели запускаются **из корня репозитория сервиса** (`arm-core`, `tabular-parser`, `scan-gateway`); рецепты сами
|
||||
переходят в `api/` и используют окружение `api/.venv`. Компоуз-инфраструктура — `docs/dev/docker-compose.yml`
|
||||
переходят в `api/` и используют окружение `api/.venv`. Инфраструктура compose — `docs/dev/docker-compose.yml`
|
||||
(см. [`README.md`](README.md)); в workspace и в worktree `.wt/<срез>/` она лежит рядом как `../docs/dev/`.
|
||||
|
||||
## Общие цели
|
||||
|
||||
Одинаковый набор и одинаковая семантика во всех трёх сервисных репозиториях. Репозиторий вправе добавлять свои цели
|
||||
(см. ниже), но не меняет смысл общих.
|
||||
Одинаковый набор целей во всех трёх сервисных репозиториях; семантика, описанная ниже, — эталонная (реализации
|
||||
расходятся в деталях, см. «Известные расхождения реализаций»). Репозиторий вправе добавлять свои цели (см. ниже), но
|
||||
не меняет смысл общих.
|
||||
|
||||
| Цель | Что делает | Нужен Docker / compose |
|
||||
|---|---|---|
|
||||
@ -23,7 +24,8 @@
|
||||
| `make check-full` | `make check` + `make test-integration` + сборка docker-образа (`docker build`); для `arm-core` — расширенный набор, см. ниже | да, `make up` и Docker |
|
||||
| `make up` | поднимает инфраструктуру из `../docs/dev/docker-compose.yml`; постоянные сервисы `postgres`, `nats`, `minio` | Docker |
|
||||
|
||||
Сводка шагов `make check`: `ruff check .` → `ruff format --check .` → `mypy src` → `pytest -m "not integration"`.
|
||||
Сводка шагов `make check`: `ruff check .` → `ruff format --check .` → `mypy src` (в `arm-core` — `mypy src scripts`) →
|
||||
`pytest -m "not integration"`.
|
||||
Любой ненулевой код останавливает цель на этом шаге, следующие не выполняются. `make check` не требует Docker,
|
||||
PostgreSQL, NATS и сети.
|
||||
|
||||
@ -76,7 +78,7 @@ docker compose -f ../docs/dev/docker-compose.yml --project-name arm-ka run --rm
|
||||
| Что | Где ищется | Что пропускается без него |
|
||||
|---|---|---|
|
||||
| `docs` | `../docs` или каталог из `ARM_KA_DOCS` | тест идентичности контракта `api/contracts/` с `docs/contracts/`; в `arm-core` ещё сверка с DBML в тестах (`dbml-check` как цель `make` требует DBML и падает без него) |
|
||||
| `fixtures` | `../fixtures` или каталог из `ARM_KA_FIXTURES` | тесты с маркером `fixtures` (реальные данные, внутренний доступ): причина пропуска — «ARM_KA_FIXTURES недоступен …» |
|
||||
| `fixtures` | `../fixtures` или каталог из `ARM_KA_FIXTURES` (в `arm-core`; в остальных сервисах — см. «Известные расхождения реализаций») | тесты с маркером `fixtures` (реальные данные, внутренний доступ): причина пропуска — «ARM_KA_FIXTURES недоступен …» (в `arm-core`) |
|
||||
|
||||
Пример (docs и fixtures лежат не рядом):
|
||||
|
||||
@ -113,7 +115,8 @@ PR убедитесь, что `docs` и `fixtures` доступны (пропу
|
||||
## Порядок перед PR
|
||||
|
||||
1. Поднять инфраструктуру: `make up` (в репозитории сервиса). Убедиться, что `docs` и `fixtures` доступны (рядом или через
|
||||
`ARM_KA_DOCS`, `ARM_KA_FIXTURES`).
|
||||
`ARM_KA_DOCS`, `ARM_KA_FIXTURES` — последняя поддерживается только в `arm-core`, см. «Известные расхождения
|
||||
реализаций»).
|
||||
2. `make check` — быстрые проверки. Исправлять до зелёного.
|
||||
3. `make check-full` — полная проверка (интеграционные тесты, образ; для `arm-core` — ещё DBML, миграции, `web`).
|
||||
4. Если менялись `contracts/`, `model/` или спека в репозитории `docs`: в нём `make check`, затем в каждом затронутом
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user