доменные ошибки сравниваются через errors.As, отказ Close не теряется

- признаки «работы нет» и «задача не найдена» узнаются по смыслу, а не
  приведением типа: обёртка `%w` на пути больше не превращает пустой прогон
  воркера в отказ раз в секунду
- отказ закрытия соединения с распознавателем доходит до вызывающего
  (`errors.Join`) либо до журнала; у `errcheck` включён `check-blank`, иначе
  критерий принимал реализацию, выбрасывающую отказ в пустоту
- заведены первые тесты пакета worker и capability `pipeline`; долг из четырёх
  замечаний линтера закрыт, гейт зелёный целиком
This commit is contained in:
av
2026-08-11 18:04:25 +03:00
parent b7dd060ba0
commit 2559d09fc8
24 changed files with 1554 additions and 48 deletions
+11 -15
View File
@@ -102,23 +102,19 @@ task gate # весь набор проверок разом
их скилл `av-dev-docs:healthcheck`, и звать его надо руками;
- покрытие изменённых строк не считается ничем.
**Гейт на `master` сегодня красный, и это объявленный долг, а не поломка дня.**
Известный отказ один:
**Гейт на `master` сегодня зелёный целиком, и объявленных долгов у него нет.**
Красный шаг означает поломку — свою или чужую, но поломку, а не наследство.
Списывать отказ на долг больше нельзя: списывать не на что.
- `golangci-lint run` даёт 4 замечания в существующем коде: два непроверенных
`Close` (`adapter/recognizer/yandex/speechkit.go:55`, `main.go:124`) и два
сравнения ошибок приведением типа (`controller/worker/worker.go:51`,
`service/transcribe.go:394`). Долг записан в
[docs/conventions/errors.md](docs/conventions/errors.md), заведён задачей
`errors-as-instead-of-typecast`.
Два прежних долга закрыты и здесь названы, чтобы отказ на их месте читался как
новый:
Новые отказы отличай от этого. Пока он жив, «зелёный гейт» в определении
сделанного означает «не добавилось ничего сверх перечисленного».
**`go test ./...` больше долгом не считается.** Задача
`http-handler-tests-never-green` починила тесты приёма по HTTP; красный
`go test` теперь означает
поломку, и списывать его на наследство нельзя.
- `golangci-lint run` давал 4 замечания — два непроверенных `Close` и два
сравнения ошибок приведением типа. Закрыто задачей
`errors-as-instead-of-typecast` 2026-08-11; тогда же у `errcheck` включена
настройка `check-blank`, поэтому `_ = x.Close()` больше не снимает замечание:
отказ, который решено не проверять, объявляют в `exclude-functions` поимённо;
- `go test ./...` чинила задача `http-handler-tests-never-green`.
## Запреты