Skip to content

bug: agent-tool hard_delete_channels всегда падает RuntimeError — FilterDeletionService создаётся без channel_service #1290

Description

@axisrow

Суть

Agent-инструмент hard_delete_channels нерабочий с момента появления: любой вызов заканчивается RuntimeError, который глотается общим except Exception и возвращается пользователю как «Ошибка удаления».

Корень (origin/main)

  • src/agent/tools/filters.py:161 и :201FilterDeletionService(db) создаётся без аргумента channel_service.
  • src/services/filter_deletion_service.py:72-73hard_delete_channels_by_pks при channel_service is None сразу делает raise RuntimeError("hard_delete requires channel_service (dev mode)").

Сценарий отказа

Агент вызывает hard_delete_channelsconfirm=true) → сервис мгновенно кидает RuntimeError → инструмент отвечает «Ошибка удаления». Операция невыполнима ни при каких аргументах.

Дополнительно

Настоящего dev-gate (проверки окружения) у операции нет — «гейт» существует только как побочный эффект незаданной зависимости. При фиксе решить осознанно: либо прокинуть channel_service и добавить явный dev-gate, либо убрать инструмент из реестра.

Критерии приёмки

  • Вызов hard_delete_channels с корректными аргументами и confirm=true выполняет удаление (или явно отклоняется настоящим dev-gate с внятным сообщением).
  • Регресс-тест на путь agent-tool → FilterDeletionService (мутационно: без channel_service тест красный).

Найдено аудитом (находка «за бортом» ревью #1234).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpriority/mediumСредний приоритет

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions