Files
transcriber/tasks/items/gate-go-version-sync.md
T

2.1 KiB
Raw Blame History

🧹 Сверять версию Go в образе с директивой go.mod

  • Тип: chore
  • Категория: Очередь
  • Зачем: Образ гейт не собирает, и расхождение версий прошло весь конвейер молча: task image упал бы уже на сервере.

Случай записан журналом дефектов docs/review.md за 2026-08-12: go mod tidy поднял директиву до 1.25, Dockerfile остался на golang:1.24-alpine с GOTOOLCHAIN=local, и шесть проходов ревью вместе с восемью шагами гейта показали зелёное. Нашлось случайным свойством прогона, а не устройством проверок.

Сборку образа в гейт не заводим — она дорога. Дешёвая замена: сравнение двух строк.

Затрагивает

  • набор шагов task gate в Taskfile.yml;
  • директива go в go.mod и сборочный слой Dockerfile как источники сравнения;
  • семантика гейта в CLAUDE.md, раздел «Гейт».

Критерии приёмки

  • Расхождение версий роняет гейт. Оракул — прогон task gate на дереве, где версия в Dockerfile понижена на минор: шаг краснеет и называет оба числа.
  • Совпадение гейт не роняет. Оракул — task gate на неизменённом дереве.
  • Шаг не требует docker и работает без сети. Оракул — прогон с DOCKER_HOST=/dev/null.

Рамки

Сравнение строковое: Dockerfile называет golang:<major>.<minor>-alpine, а go.mod<major>.<minor>.<patch>. Сверяются мажор и минор; патч сборочного образа своей жизнью живёт законно.