**ВАЖНО: В FORM_STEPS НЕТ вопросов про загрузку файлов!** Загрузка файлов происходит автоматически через блоки документов в секции `documents`. НЕ создавай вопросы с `input[type="file"]`, `input_type: "file"` или именами `upload_*`.
Задача: составить **динамический чек-лист** (5–7 ключевых уточняющих вопросов) + **список документов** для запроса у пользователя, чтобы:
- собрать доказательственную базу для претензии и/или иска;
- минимизировать долги и непонятности (приоритеты, условия загрузки файлов и т.д.);
- предварительно заполнить (prefill) поля формы, если информация уже есть в USER_MESSAGE или RAG_ANSWER.
**Правила работы (строго):**
1. Извлекай информацию ТОЛЬКО из USER_MESSAGE и RAG_ANSWER. Не придумывай фактов. Если чего-то нет — указывай это как missing/needs_confirm.
2. Выбирай 5–7 уточняющих вопросов (если нужно больше — добавь, но пометь дополнительные с priority=2). Приоритет 1 = критично для претензии; 2 = доп. полезно.
3. Вопросы должны быть написаны «юзер-дружелюбно» и соответствовать HTML controls (input[type="text"], textarea, input[type="radio"], input[type="checkbox"]). **НЕ используй input[type="file"]** — загрузка файлов происходит через блоки документов.
4. Для каждого вопроса вернуть: name (кодовое имя, латиницей или snake_case), label (текст вопроса), control (html-тип), input_type (text|textarea|choice|multi_choice), required (bool), priority (1|2), rationale (короткое объяснение — 1 предложение), ask_if (условие показа — nullable; формат: { "field":"name", "op":"==", "value":"Да" }), options (если choice — массив {label,value}).
5. Для документов вернуть: id, name, required(bool), priority, accept (['pdf','jpg'...]), hints (короткая подсказка).
6. Сформируй answers_prefill — массив объектов { name, value, confidence (0..1), needs_confirm(bool), source: "user_message"|"rag_answer", evidence (<=120 chars) } — если в USER_MESSAGE/RAG есть явный ответ; иначе пусто.
7. Сделай coverage_report.questions — для каждого вопроса: name, status: "covered"|"partial"|"missing", confidence (0..1), source (если есть), value (если есть).
8. Укажи risks (кратко — коды: DOCS_STATUS_UNKNOWN, EXPECTATION_UNSET, DATE_AMBIGUOUS и т.д.) и deadlines: включи USER_UPLOAD_TTL=48h и USER_APPROVAL_TTL=24h минимум.
9. Формат вывода — **строго JSON** ровно по описанной ниже внешней схеме. Никаких объяснений, текста вне JSON и никакого Markdown. Если не уверены в каком-то поле — ставьте null или пустой массив.
10. Тон — полезный, краткий; при предзаполнении ставьте realistic confidence (1 — явно в тексте; 0.7 — подразумевается; 0.4 — косвенно).
**КРИТИЧЕСКИ ВАЖНО: НЕ создавай вопросы про загрузку документов!**
- ❌ НЕ создавай вопросы типа "Пожалуйста, загрузите фото или сканы документов"
- ❌ НЕ создавай текстовые поля (text/textarea) для загрузки документов
- ❌ НЕ создавай поля типа `input[type="file"]` или `input_type: "file"` для загрузки документов
- ❌ НЕ создавай вопросы с именами `upload_*` или `upload_docs`, `upload_correspondence` и т.п.
- ✅ Вместо этого используй блоки документов (documents) в секции documents
- ✅ Если нужно узнать наличие документов, используй `multi_choice` с чекбоксами (`input[type="checkbox"]` и `input_type: "multi_choice"`)
- ✅ Загрузка файлов происходит автоматически через блоки документов, не нужно создавать для этого отдельные вопросы
**Дополнительно:** если вы добавляете новые поля в questions/documents — это допустимо, но не убирайте обязательные поля из схемы. Поле `name` должно совпадать с теми, что есть в FORM_STEPS, если вопрос — трансформация существующего шага; если новый — дайте уникальное name.
**Пример минимального ожидаемого выхода (фрагмент):**
{
"wizard_plan": {
"version":"1.0",
"case_type":"consumer",
"goals":[ "...", ... ],
"questions":[
{
"order": 1,
"name": "item",
"label": "Что за товар или услуга? (коротко)",
"control": "input[type=\"text\"]",
"input_type": "text",
"required": true,
"priority": 1,
"rationale": "...",
"ask_if": null,
"options": []
}
// ... вопросы (БЕЗ upload_* и input[type="file"]!)
],
"documents":[
{
"id":"contract",
"name":"Договор/заказ",
"required": true,
"priority": 1,
"accept":["pdf","jpg","png"],
"hints":"Фото/скан подписанного договора"
}
// ...
],
"ask_order":[ "item","place_date", ... ],
"user_text":"<пара предложений для вывода пользователю: что потребуется и почему>",