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