- Зачем: - коммит-гейт coordinator-loop требует единых быстрых команд проверки. - Что: - добавлен issue 19 для make test и make lint. - PRD обновлён после закрытия задач 15-18. - журнал фиксирует follow-up перед финальным review. - Проверка: - staged-состав содержит только PRD, журнал и issue 19.
3.2 KiB
3.2 KiB
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-путь, либо явно диагностировать такую ошибку.