Files
contracts/History/step-2-services-migration-2026-07-14.md

33 lines
1.3 KiB
Markdown

# Step 2: Перенос compare/ → app/services/
**Ветка:** `feature/flask-migration`
**Дата:** 2026-07-14
## Что делаем
Копируем бизнес-логику из `deploy/compare/*.py` → `app/services/`.
## Переносим (чистая логика, без HTTP)
- `parse.py` — парсинг PDF/DOCX
- `classify.py` — LLM-классификация
- `grouping.py` — группировка документов
- `llm.py` — вызов LLM для сравнения
- `llm_client.py` — протокол + httpx + fake
- `metrics.py` — проверка арифметики
## НЕ переносим (привязаны к HTTP, будут переписаны в blueprints)
- `upload.py` — использует cgi.FieldStorage
- `unzip.py` — читает rfile.read()
- `process.py` — SSE через callback
## Правки импортов
Было → стало:
- `from db import documents` → `from app.db import documents`
- `from .parse import parse_file` → `from app.services.parse import parse_file`
- `from llm_prompt import ...` → `from app.llm_prompt import ...`
- `from .llm_client import ...` → `from app.services.llm_client import ...`
- `from .metrics import ...` → `from app.services.metrics import ...`