package store import "errors" // ErrNotFound — доменный sentinel «запись не найдена». Слой store транслирует // в него sql.ErrNoRows у источника, чтобы выше по коду не торчал database/sql, // а потребители матчили причину через errors.Is(err, store.ErrNotFound). var ErrNotFound = errors.New("not found") // ErrInfohashTaken — инвариант «не более одной активной загрузки на infohash»: // возврат задачи в активное состояние отклонён, потому что хешем уже владеет // другая активная задача (ActivateIfNoOtherActive). Вызывающие отличают этот // штатный конфликт от сбоя через errors.Is. var ErrInfohashTaken = errors.New("infohash owned by another active download")