Files
contracts/History/topics/mvp-auto-classify-plan.md
T

29 lines
1.4 KiB
Markdown

# MVP Auto-classification — план реализации
## Итоговый план (Опус + мои правки)
### Фаза 1: БД + данные
1. ALTER documents — 7 колонок (doc_type, own_number, parent_number, doc_date TEXT, counterparty, classify_status, batch_id)
2. db/documents.py — set_classification(), list_pending(batch), list_by_batch(batch)
3. db/prompts.py — seed classify prompt
### Фаза 2: Классификация
4. llm_prompt.py — build_classify_prompt (строгий JSON)
5. services/classify.py — умная выжимка + LLM + ThreadPoolExecutor(4)
### Фаза 3: Группировка
6. services/grouping.py — normalize_number + group_documents + apply_groups
### Фаза 4: Эндпоинты
7. convert_server.py — POST /classify-batch, GET /api/groups, POST /apply-groups
### Фаза 5: UI
8. app.js — batch_id, classify button, polling progress, group cards, per-group compare
9. index.cfm — version bump only (HTML не меняем)
## Мои корректировки к плану Опуса
- batch_id генерируется на клиенте (crypto.randomUUID()), передаётся в upload
- ZIP — фаза 2, сначала multi-upload (уже работает)
- doc_date TEXT (не DATE) — LLM нормализует в ISO, при провале null
- parent_number отдельно от own_number