# 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