| name | dnv-intake |
| description | Внутренний справочник по сбору контекста кейса DNV. Структура профиля (case-profile.json), архетип v1, ветвление initial vs renovación, три несущих требования, контролируемые словари, экспресс-оценка. Используй когда нужно понять ситуацию пользователя и собрать профиль. |
Сбор контекста кейса — справочник
Когда нужно понять ситуацию пользователя — в начале разговора, при смене
сценария, когда данных не хватает для плана или документов — собирай контекст
в разговоре, не анкетой. Задавай вопросы группами, реагируй на ответы,
уточняй. Цель — заполнить user/case-profile.json (схема: profile.schema.json
рядом с этим файлом), но сам процесс должен ощущаться как беседа, а не
формальность.
Приватность (КРИТИЧНО)
- Значения профиля пиши только в
user/case-profile.json (gitignored).
- НИКОГДА не записывай значения профиля (имя, NIE, паспорт, доход, адрес)
в
CLAUDE.md, в память, в *.example или в любой коммитимый файл.
- Не проси и не храни то, что не нужно (дата-минимизация).
Если профиль уже существует
Если user/case-profile.json уже есть — спроси, продолжить редактирование или
начать заново. Не затирай молча.
Архетип v1
Спроси про форму занятости и семью. v1 покрывает только: основной заявитель
= autónomo / независимый контрактор (por cuenta propia, удалённая работа на
иностранного работодателя/заказчика) + опционально cónyuge (или pareja) как
зависимый член семьи.
Если кейс иной (наёмный por cuenta ajena, заявитель без этого основания, дети
как основные, и т.п.) — прямо скажи, что это вне v1, поставь
case.archetype_ok=false, объясни ограничение. Можно собрать профиль частично,
но пометь ограничение. Не подгоняй кейс.
Ветвление initial vs renovación
Определи case.process_type и ветви вопросы:
Renovación
Дополнительно спрашивай:
applicant.tie_expiry — для арифметики окна подачи
applicant.first_approval_date
- Если подаётся член семьи —
family.titular_regage заполняется после
подачи titular (не выдумывать сейчас)
Выведи applicant.tipo_solicitud = "RENOVADA"; аналогично family.tipo_solicitud.
Initial
НЕ спрашивай tie_expiry / first_approval_date (их ещё нет). Дополнительно:
-
applicant.nie может законно отсутствовать — это нормальное состояние
кейса, а не пропуск (разбор: knowledge_base/norms/solicitud-inicial.md §5).
Спроси, но пустой ответ оставь пустым, не выдумывай и не настаивай.
-
Certificado digital. Без NIE его нет (FNMT требует DNI/NIE). Если
сертификата нет — заполни applicant.files_via_representative: кто подаёт
и чем оформлено представительство. Нотариальная (консульская) доверенность —
основной вариант; REA/APODERA без NIE не подтверждён.
Подробности: solicitud-inicial.md §5.
-
Законность пребывания и въезд: на каком основании заявитель в Испании
(шенгенская туристическая / иное), дата въезда, есть ли штамп о въезде
или оформлена declaración de entrada. Это несущее требование, а не
формальность (разбор: solicitud-inicial.md §4).
Куда писать:
applicant.entry_date — дата въезда
applicant.entry_stamp — есть ли штамп и где
applicant.declaracion_entrada — подана ли декларация, дата и где
Все три — branch: "initial", при renovación не спрашиваются. Заявитель ещё
не въехал — оставь пустыми: это нормальное состояние, а не пропуск.
-
Разбор всей ветки — knowledge_base/norms/solicitud-inicial.md.
Выведи applicant.tipo_solicitud = "INICIAL"; аналогично family.tipo_solicitud.
Три несущих требования
Их нет в бланках MI-T/MI-F (те про личные данные), но без них пакет
неполон — это позиции чеклиста Instrucción Octava ¶2. Убедись, что они
обсуждены:
-
applicant.qualification_basis — квалификация по art. 74 bis: диплом
вуза/высшей школы, профессиональная квалификация или ≥3 лет профильного
опыта. Спроси не «есть ли диплом», а чем именно закрываете и каким
документом: у контрактора без профильного диплома это опыт, и тогда нужны
CV плюс рекомендательные/подтверждающие письма.
-
applicant.seguro_enfermedad — медстраховка по art. 62.3.e: испанская
частная с полным покрытием (без копейов и периодов ожидания) или покрытие
через котизацию в Seguridad Social. Для члена семьи — family.seguro_enfermedad,
свой полис: art. 62.4 распространяет на него требования 62.3, а покрытие
титуляра через котизацию на cónyuge не переносится.
-
applicant.countries_last_2y (и family.countries_last_2y) — страны
проживания за последние 2 года, по art. 62.3.c из каждой нужна справка о
несудимости. Скажи вслух: 2 года, а не 5 — это разные документы. Пять лет
относятся к отдельной declaración responsable об отсутствии судимостей;
справки и декларация друг друга не заменяют. Записывай строкой через
запятую, не списком.
Структура профиля
Собери user/case-profile.json по namespace схемы. Рекомендуемая форма —
вложенный объект {applicant:{...}, work:{...}, family:{...}, case:{...}, tasa:{...}}, эквивалентный dotted-ключам схемы.
Правила:
- Контролируемые словари (
domain): принимай только допустимые значения.
Особенно applicant.sexo/family.sexo ∈ {Hombre, Mujer} — не
оставляй пустым и не пиши «indefinido».
- Производные (
derived=true) — вычисляй, не спрашивай (full_name из
имени+фамилий; tipo_solicitud из process_type; суммы tasa — позже, live).
full_name выводится и у титуляра, и у члена семьи (applicant.full_name
И family.full_name). Второй фамилии члена семьи в схеме нет — не выдумывай.
- Если значение неизвестно — оставь
null и пометь; не выдумывай.
- Группируй вопросы по блокам (заявитель → работа/доход → семья → даты), не
заваливай всё сразу. Подтверждай написание имён/NIE (как в паспорте).
Провалидируй: все required поля активной ветки заполнены или явно null с
пометкой; значения доменных полей — из словаря.
Экспресс-оценка кейса
Когда профиль собран, предложи короткую предварительную оценку (пользователь
может отказаться). Если согласен — сверь профиль с knowledge_base/norms/ и
выдай 10–15 строк:
- Сильные стороны — что в профиле уже выглядит соответствующим требованиям
(доход против порога
umbral-ingresos.md, окно подачи против
plazos-silencio.md, архетип, комплектность ключевых полей).
- Красные флаги — что может стать проблемой (доход ниже/впритык к порогу,
окно подачи упущено/далеко,
null-поля в обязательных, archetype_ok=false,
известные риск-паттерны из базы).
Обязательная пометка в конце: «Это предварительная оценка по курируемой базе
(as-of её файлов); пороги и процедуры требуют живой проверки. Не юридическая
консультация.» Пороги из базы не выдавай за актуальные — у них есть as-of.
Проверка целостности namespace
Профиль и реестр форм делят один namespace. Если меняешь ключи — прогони
python engine/scripts/check_namespace.py (registry ⊆ schema).