Добавить сухой прогон текста по конвейеру

POST /api/admin/check-message прогоняет текст через стоп-правила, глобальные исключения, ML и ИИ без создания карточки (PipelineWorkerService.DryRunAsync), отдаёт этапы, разбор и целевой контейнер. UI тестера в настройках переведён на новый контракт. Зафиксированы решения по вложениям (медиа-посты пропускаем).
This commit is contained in:
Rustam Khalimov
2026-09-11 17:08:34 +03:00
parent 2b25915790
commit c06ee1cf79
13 changed files with 600 additions and 55 deletions
@@ -756,6 +756,11 @@ health — `GET /api/health` → `{"ok":true,"service":"deal"}`.
reason, skipped}, passed}`; этап-1 правила из настроек (длина/стоп-фразы/резюме/тип); ИИ-фильтр
тестера на этапе 2 всегда `skipped:true`.
> **Актуально с 2026-09-11:** тестер стал сухим прогоном по всему конвейеру
> (`PipelineWorkerService.DryRunAsync`): `{passed, wouldCreateCard, targetContainer, matchHits, parsed,
> stages[]}` — стоп-правила → глобальные исключения → ML (спам/тип) → ИИ-фильтр/классификация → «без
> суммы»; без записи в систему. UI — вкладка настроек «Стоп-слова».
### 4c. Эндпоинты этапа 3 (канбан/дашборд; сессия `deal_session` обязательна, иначе 401)
> На этапе 4 `POST /api/admin/tick` стал реальным (pipeline/pump/purge-отсева) и