refactor(indexer): вынести разбиение на фрагменты в app.fragments + 5 тестов
_split_into_fragments жила в тяжёлой Celery-задаче (celery/sqlalchemy/minio) и не тестировалась, хотя именно она определяет, ЧТО проверяется на плагиат. Вынес в чистый app.fragments.split_into_fragments — тестируется изолированно: - пустой/пробельный текст → []; - текст короче 20 слов → отбрасывается порогом длины; - короткий текст → один фрагмент на весь объём, start=0; - скользящее окно: перекрытие ровно (window-step) слов, хвост==голова соседа; - start/end — корректные символьные офсеты в исходный текст. Поведение сохранено 1:1. Добавлен в mypy-гейт. Тестов всего: 66. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -25,7 +25,7 @@ docker run --rm \
|
||||
ruff check services/ scripts/
|
||||
|
||||
echo '▶ mypy (чистая логика L1/L2 + ГОСТ + скоринг)'
|
||||
( cd services/worker-indexer && mypy --config-file /repo/mypy.ini app/algorithms/ )
|
||||
( cd services/worker-indexer && mypy --config-file /repo/mypy.ini app/algorithms/ app/fragments.py )
|
||||
( cd services/worker-gost && mypy --config-file /repo/mypy.ini app/formatters/ )
|
||||
( cd services/worker-gpu && mypy --config-file /repo/mypy.ini app/scoring.py )
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user