хранилище, файлы записей и очередь переведены на встроенную PocketBase
- записи, метаданные и файлы съехались под один каталог данных; появилась панель владельца, а gin, goqu, goose и требование CGO ушли - захват задачи стал одним запросом с RETURNING; заведены число попыток, состояние dead и нарастающая пауза вместо признака is_error - имя файла в хранилище задаёт сервис и в журнал не идёт: вместе с идентификатором записи оно собирало бы ссылку на скачивание
This commit is contained in:
@@ -197,6 +197,28 @@ API и имя не откатываются обратной правкой по
|
||||
поймать их было некому. У восстановленных нет поля «Чем воспроизведён», и
|
||||
выдумывать его задним числом нельзя.
|
||||
|
||||
## 2026-08-12 — образ не собирался, и этого не увидел никто [проскочил]
|
||||
|
||||
**Что сломалось.** `go mod tidy` поднял директиву `go` в `go.mod` до `1.25.0` —
|
||||
её требует PocketBase, — а `Dockerfile` продолжал собирать на `golang:1.24-alpine`
|
||||
с `GOTOOLCHAIN=local`. `task image` упал бы на шаге сборки: выкладки задачи
|
||||
`pocketbase-storage` не существовало бы вовсе.
|
||||
|
||||
**Почему не поймали.** Все шесть проходов ревью и весь гейт видели зелёное:
|
||||
`go build ./...` идёт на хостовом Go, а образ не собирает **ни один шаг гейта**.
|
||||
Расхождение выглядело согласованным ещё и потому, что `CLAUDE.md` и `README.md`
|
||||
обещали Go 1.24 — то есть три места из четырёх говорили одно и то же, и неверными
|
||||
были именно они.
|
||||
|
||||
Нашлось не проходом, а триажем — при проверке чужих починок на месте, когда он
|
||||
собрал образ руками. То есть поймано случайным свойством прогона, а не
|
||||
устройством конвейера: проверь триаж починки чтением, дефект уехал бы в мердж.
|
||||
|
||||
**Чем чинится на будущее.** Сборка образа гейтом не проверяется намеренно —
|
||||
дорого. Дешёвая замена: шаг, сверяющий версию сборщика в `Dockerfile` с
|
||||
директивой `go` в `go.mod`. Строкой сравнения, без docker. Заведено урожаем
|
||||
ревью.
|
||||
|
||||
## 2026-08-11 — норма требовала от сервиса недостижимого [пойман ревью]
|
||||
|
||||
- **Где:** дельта-спека `pipeline` задачи `errors-as-instead-of-typecast`, абзац
|
||||
|
||||
Reference in New Issue
Block a user