## Why

Retry задачи в `failed`/`stuck`, чей торрент ЖИВ в qBittorrent, но в состоянии
ошибки (`error`/`missingFiles`), сейчас повторно отдаёт источник. На живом
сломанном торренте это бесполезно: qBittorrent отвергает дубль, задача уходит в
`downloading`, а на ближайшем тике сверки `classErrored` тут же возвращает её в
`failed` (+ дебаунс уведомления). Пользователю retry выглядит сломанным, а
реальное лекарство (перепроверка/`recheck`/восстановление файлов в qBittorrent)
не подсказано (находка ревью NIT-12).

## What Changes

- **Retry сломанного живого торрента отклоняется**, а не переотдаёт источник.
  Отказ несёт понятное сообщение: починить раздачу (`recheck`/восстановить
  файлы) в qBittorrent и повторить. Состояние задачи не меняется, повторного
  `Add` не происходит.
- Повторный `Add` при retry остаётся только для случая, когда раздачи в
  qBittorrent НЕТ (перецепка к здоровому живому торренту — без `Add`, как и
  раньше).

## Capabilities

### New Capabilities

Нет.

### Modified Capabilities

- `state-reconciliation`: требование «Ручной повтор зависшей/упавшей загрузки из
  транспортов» — ветка живого сломанного торрента меняет исход с «повторно отдать
  источник» на «отклонить с подсказкой про `recheck`». Прочие ветки retry (нет
  раздачи → `Add`; жив и здоров → перецепка без `Add`; сброс базиса `retried_at`)
  без изменений.

## Impact

- **Спеки:** дельта `state-reconciliation` (одно MODIFIED-требование).
- **Код:** `internal/worker/worker.go` — `Retry` (ветка `alive && classErrored`
  → отказ `ErrConflict` с сообщением вместо `reAdd`).
- **Тесты:** `internal/worker/worker_test.go` — отклонение retry на живом
  сломанном торренте (`error`/`missingFiles`), контроль перецепки здорового.
- **Миграции БД:** нет.
