From 2778eae9f0c28c8423ddf55b569ed17ec1879b75 Mon Sep 17 00:00:00 2001 From: Dmitry Dementev Date: Sun, 5 Jul 2026 22:03:34 +0300 Subject: [PATCH] =?UTF-8?q?docs(generator):=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87?= =?UTF-8?q?=D0=B0=20=D0=BD=D0=B0=20test=20=D0=B8=20lint=20=D1=86=D0=B5?= =?UTF-8?q?=D0=BB=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Зачем: - коммит-гейт coordinator-loop требует единых быстрых команд проверки. - Что: - добавлен issue 19 для make test и make lint. - PRD обновлён после закрытия задач 15-18. - журнал фиксирует follow-up перед финальным review. - Проверка: - staged-состав содержит только PRD, журнал и issue 19. --- .../PRD.md | 13 +++-- .../coordinator-journal.md | 3 ++ .../issues/19-test-and-lint-targets.md | 53 +++++++++++++++++++ 3 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 .scratch/generator-model-time-startup-history/issues/19-test-and-lint-targets.md diff --git a/.scratch/generator-model-time-startup-history/PRD.md b/.scratch/generator-model-time-startup-history/PRD.md index e962727..1d25797 100644 --- a/.scratch/generator-model-time-startup-history/PRD.md +++ b/.scratch/generator-model-time-startup-history/PRD.md @@ -85,8 +85,11 @@ Status: Implemented профили запуска генератора. - Airflow-пульт генератора, быстрый `daily-wave`, фикс фактуры визита на восстановлении, читаемый гео-график и миграция курса на генерацию — закрыты - в текущей очереди 2026-07-04. Подробности и коммиты см. в issue-файлах и - `coordinator-journal.md`. + в очереди 2026-07-04. +- Доработки по кросс-линейному ревью 2026-07-05 закрыты в очереди 2026-07-05: + граница миров, свежий стенд и Airflow-пульт, доверенные проверки + startup-history/Superset, курс на чистом стенде. Подробности и коммиты см. в + issue-файлах и `coordinator-journal.md`. Дальнейшая задача вне текущей очереди: @@ -94,8 +97,11 @@ Status: Implemented `needs-triage`. После кросс-линейного ревью 2026-07-05 блокируется задачами 15 и 17: доливка тиражирует стыки мира и должна опираться на доверенную проверку фактической границы. +- `issues/19-test-and-lint-targets.md` — единые `make test` и `make lint` для + коммит-гейта; `ready-for-agent`. Возникло из coordinator-loop 2026-07-05: + координатору пришлось вручную собирать тестовый набор из частных команд. -Доработки по кросс-линейному ревью 2026-07-05: +Доработки по кросс-линейному ревью 2026-07-05 (закрыто): - `issues/15-world-boundary-after-cross-review.md` — граница миров после обновления, сброса и консольных запусков. @@ -120,6 +126,7 @@ flowchart LR i17["17 доверенные проверки"] --> i18 i15 --> i13 i17 --> i13 + i19["19 make test/lint"] ``` ## Контрольные точки diff --git a/.scratch/generator-model-time-startup-history/coordinator-journal.md b/.scratch/generator-model-time-startup-history/coordinator-journal.md index d8209d4..3026e09 100644 --- a/.scratch/generator-model-time-startup-history/coordinator-journal.md +++ b/.scratch/generator-model-time-startup-history/coordinator-journal.md @@ -552,3 +552,6 @@ границах issue 18; журнал не staged. - 22:00 Issue 18 рабочий коммит: `77e4fb6` (`docs(course): согласованы уроки со startup-history`). +- 22:02 Перед финальным review: добавлен follow-up issue 19 про единые + `make test`/`make lint`; PRD обновлён: 15-18 закрыты, открытыми остаются + 13 (`needs-triage`) и 19 (`ready-for-agent`). diff --git a/.scratch/generator-model-time-startup-history/issues/19-test-and-lint-targets.md b/.scratch/generator-model-time-startup-history/issues/19-test-and-lint-targets.md new file mode 100644 index 0000000..54707d0 --- /dev/null +++ b/.scratch/generator-model-time-startup-history/issues/19-test-and-lint-targets.md @@ -0,0 +1,53 @@ +Status: ready-for-agent + +# Единые make test и make lint для коммит-гейта + +## Parent + +`.scratch/generator-model-time-startup-history/PRD.md` + +## Why + +Во время coordinator-loop по задачам 15-18 координатор несколько раз упёрся в +отсутствие общих целей `make test` и `make lint`. Из-за этого коммит-гейт +собирался вручную из частных команд: `make generator-test`, `docker compose +config --quiet`, `py_compile`, `bash -n`, `git diff --check` и отдельных +стендовых проверок. + +Для учебного проекта это плохой пример: у менти и агента должен быть один +понятный путь проверки, а не набор догадок. + +## What to build + +Добавить поддержанные цели `make test` и `make lint`, которые покрывают текущие +реальные проверки репозитория и не печатают лишний подробный вывод по умолчанию. + +## Acceptance criteria + +- [ ] `make test` существует и запускает полный быстрый набор проверок, нужный + перед коммитом: тесты генератора, контрактные тесты верхнего уровня и + ключевые проверки конфигурации. +- [ ] `make lint` существует и запускает статические проверки, которые сейчас + выполняются вручную: синтаксис Python, `bash -n`, `docker compose config + --quiet`, `git diff --check` или обоснованно выбранный эквивалент. +- [ ] Цели используют `uv` там, где нужен Python вне Docker, и не зависят от + локального `pytest`, случайно установленного на хосте. +- [ ] Шумные команды не вываливают полный список тестов при успешном прогоне; + подробный вывод доступен через явный режим или отдельную команду. +- [ ] `docs/OPERATIONS.md` или `README.md` кратко объясняет, когда запускать + `make test`, `make lint` и какие более дорогие стендовые проверки остаются + отдельными. + +## Blocked by + +Нет — можно начинать сразу. + +## Notes + +- Не включать в `make test` долгие или разрушительные проверки вроде + `make generated-history-runtime-check` без явного решения: они чистят volumes + и управляют стендом. +- Отдельно учесть проблему окружения coordinator-loop 2026-07-05: локальный + `uv run ... pytest` падал до запуска тестов из-за `snap-confine`, поэтому + цель должна либо идти через устойчивый Docker-путь, либо явно диагностировать + такую ошибку.