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

36 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🧹 Сверять версию 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>`. Сверяются мажор и минор; патч сборочного
образа своей жизнью живёт законно.