# 🧹 Сверять версию 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:.-alpine`, а `go.mod` — `..`. Сверяются мажор и минор; патч сборочного образа своей жизнью живёт законно.