Новый errors.go: интерфейс BusinessError + NewBusinessError /
WrapBusinessError / IsBusinessError / BusinessCodeOf. Цепочка ищется
через Cause/Unwrap (pkg/errors, fmt %w, errors.Join).
HandleError: бизнес-ошибки логируются как warning со своим кодом
и возвращаются как есть; добавлен nil-guard.
HandleErrorWithRollback/HandleWithTx: бизнес-ошибка откатывает
транзакцию, в лог уходит warning с оригинальным текстом
(без internal error и code=500), ошибка не заворачивается.
go.mod: go 1.23, helpers/h v0.23.1 (вместо bitbucket), logrus v1.9.3;
go.sum обновлен через go mod tidy.
.gitlab-ci.yml: версия Go в одном месте (GO_VERSION + go.mod),
GOTOOLCHAIN=local, go mod download вместо go get -v, покрытие
штатным go tool cover, артефакты внутри репозитория.