| name | dnv-tie |
| description | Внутренний справочник по последней миле DNV — от resolución до физической карты TIE. Расчёт дедлайна запроса TIE, черновик EX-17 из профиля с field-QA, чеклист визита (tasa 790-012, фото, что нести), recogida, autorización de regreso. Движок НЕ записывает на cita, НЕ платит tasa, НЕ подаёт. |
Последняя миля: от одобрения до карты TIE — внутренний справочник
Когда пользователь получил положительное решение, ты ведёшь
user/tie-checklist.md — чеклист последней мили. Логика каждого обращения: что
изменилось → пересчитать → что делать сейчас.
Разделение со справочником по трекингу: трекинг ведёт кейс до резолюции
(сроки, silencio, escritos), TIE — после (карта). Escritos и эскалацию здесь
не дублируй — если резолюции ещё нет, это зона трекинга.
🚫 Необратимые действия — не твои
Движок не записывается на cita, не платит tasa, не подаёт документы и не
выдумывает номера, суммы и даты. Он не имитирует эти действия и не сообщает,
что они выполнены. Всё, что ниже, — подготовка, которую исполняет пользователь.
Факт одобрения, дату уведомления и всё, что происходило в отделении, сообщает
пользователь. Нет данных → [ТРЕБУЕТСЯ: …], никогда не правдоподобная
догадка.
Входные данные
Этот справочник применяется, когда пользователь сообщил, что пришла
resolución favorable или certificado de acto presunto. Спроси прямо.
- Решения нет → скажи, что пока решения нет — ведение сроков и escritos
в справочнике по трекингу. Возвращайтесь, когда придёт resolución или
certificado de acto presunto.
- Нет
user/case-profile.json → без профиля черновик EX-17 заполнять нечем;
сначала нужно собрать профиль (через интервью с пользователем).
Что изменилось?
user/tie-checklist.md нет — первый запуск. Спроси: дата уведомления о
решении (запиши и дату, напечатанную в самой резолюции, если она другая —
норма считает срок не от уведомления, а «с момента, когда разрешение
предоставлено или вступает в силу», см. норм-файл §2), тип решения
(INICIAL/RENOVADA — сверь с applicant.tipo_solicitud в профиле), подавался
ли член семьи.
- Запиши дату уведомления в профиль как
case.resolution_notified
(ISO YYYY-MM-DD, схема — ../dnv-intake/profile.schema.json). Это не
лишний вопрос: без неё реестр форм считает EX-17 / EX-17-familiar /
tasa-790-012 / tasa-790-012-familiar неприменимыми (applies_when), и
field-QA не гейтит их обязательные поля. Записал — формы включились.
- Файл есть — прочитай его и спроси, что нового: взята ли cita и на какую
дату, оплачена ли tasa, сдал ли отпечатки, выдали ли справку со сроком,
получена ли карта. Не затирай файл молча — обнови его по ответам.
Дедлайн запроса TIE
По knowledge_base/norms/tie-huellas.md (§2) посчитай конкретную календарную
дату от сообщённой пользователем даты. Это арифметика из его даты, не
«типичный срок». Основание — RD 1155/2024 art. 209, один месяц.
Скажи вслух две вещи, обе есть в норм-файле:
- точку отсчёта норма формулирует не как «от уведомления», а как «с въезда в
Испанию либо с момента, когда разрешение предоставлено или вступает в силу».
Если дата уведомления и дата в резолюции разошлись — не выбирай прочтение за
пользователя: посчитай от той даты, которую он назвал, и явно скажи, что
какая из дат его — сверяется по тексту резолюции и в отделении;
- в практике сообщают, что наказания за просрочку не наблюдали — это
наблюдение, не норма и не основание тянуть; до карты буксуют смежные шаги.
Норм-файл несёт as-of. Старше текущего года → пометь «(проверить вживую)»
рядом с рассчитанной датой.
Черновик EX-17
python engine/scripts/fill_forms.py user/case-profile.json knowledge_base/forms/registry.json --out-dir user/drafts --allowed-root user
Заполнятся все формы реестра; на этом шаге нужны EX-17 и (если член семьи
подавался) EX-17-familiar, плюс tasa-790-012 — и, если член семьи
подавался, tasa-790-012-familiar.
⚠️ Tasa 790-012 — на КАЖДОГО, кому выдают карту. Карта TIE персональная,
значит и пошлина за выдачу своя: два бланка и два платежа, а не один на
дело. Реестр это выражает парой форм; tasa-790-012-familiar гейтуется
case.resolution_notified + family.present, поэтому у соло-заявителя её нет
вовсе. Приходить на huellas с одним оплаченным бланком на двоих — недоплата.
Поля, которых в профиле обычно ещё нет — их не спрашивали в интейке
намеренно (branch: tie): applicant.father_name, applicant.mother_name,
applicant.comisaria_provincia, tasa.epigrafe_012. Они выйдут как
[ТРЕБУЕТСЯ: …]. Спроси их у пользователя и допиши в user/case-profile.json,
затем перегенерируй. Не подставляй правдоподобное.
Дальше — field-QA двухслойным механизмом:
Слой A — механический baseline:
python engine/scripts/field_qa.py user/case-profile.json knowledge_base/forms/registry.json user/drafts/drafts.json --out-dir user/drafts --allowed-root user
Вердикт на КАЖДОЕ поле реестра (молчание = бага ревью), контролируемые словари,
галлюцинации (профиль пуст, а в черновике значение → WRONG).
Слой B — независимая ре-деривация (two-process):
- Вызови субагента field-qa-reviewer, передав в делегирующем сообщении
только содержимое
user/case-profile.json и
knowledge_base/forms/registry.json. Путь черновика НЕ передавай. Он
вернёт ожидаемые значения по каждому полю (вслепую).
- Затем в этом (неограниченном) шаге сам прочитай
user/drafts/drafts.json
и сдиффай ожидаемые значения с фактическими. Расхождение → WRONG/UNCERTAIN.
- Изоляция проверяема: ожидаемые значения сгенерированы ДО того, как черновик
попал в контекст диффа. Если field-qa-reviewer запросил черновик — это
нарушение, переспроси без него.
Отдельно проговори грабли EX-17 из common_errors реестра, которые скрипт не
ловит — он печатает common_errors только рядом с MISSING/WRONG, а эти поля
выходят OK (значение есть и совпадает с профилем; беда не в значении):
галочки Sexo / Estado civil / RENOVACIÓN стоят в данных формы, но не
рисуются частью просмотрщиков PDF — открыть в другом; номер паспорта должен быть
действующего, не предыдущего; в Lugar de nacimiento в реальном прогоне
однажды оказался телефон из соседнего поля бланка.
EX-17 или MI-TIE — не решай за пользователя. Практика расходится по
отделениям (см. норм-файл §4 и ../practice/digest.md, тема TIE_huellas).
Скажи, что расхождение есть, и что распространённый в сообществе ход — принести
обе формы.
Tasa 790-012
- Эпиграф выбирается под тип решения:
applicant.tipo_solicitud = RENOVADA
→ строка renovación; INICIAL → primera concesión. Это разные строки с разными
суммами.
- Сумму не называй — ни свою, ни «ориентировочную». В норм-файле §5 сумм нет
намеренно: они установлены отдельным актом (Orden PJC/617/2025) и
пересматриваются. Дай пользователю два способа получить актуальную: посмотреть
действующую редакцию Orden на BOE — или, проще, выбрать эпиграф в бланке и
прочитать сумму, которую бланк подставит сам. Самопроверка отсюда же: не та
сумма = вероятно, не та строка.
- Своя tasa на каждого. Если член семьи тоже получает карту — бланков
два:
tasa-790-012 (титуляр) и tasa-790-012-familiar (член семьи), с
его именем и его NIE. Один платёж «за обоих» не проходит. Реестр генерирует
оба листа, field-QA помечает пропущенный.
- Оплата — до визита. По практике: нести оригинал квитанции (со сканом
сообщают о развороте); способы оплаты различаются по банкам. Оригиналов,
соответственно, тоже два.
Пакет и визит
Собери чеклист из норм-файла §3, §6, §7 под конкретный кейс: подтверждение
записи, EX-17 (и MI-TIE рядом), tasa + оригинал квитанции, паспорт + копия,
резолюция, фото 32×26 мм, падрон (если отделение просит или адрес изменился),
предыдущая TIE при продлении.
Отметь два места, где практика расходится и надо сверить со своим
отделением: название трамита для записи и требование падрона.
После сдачи
- Спроси, дали ли справку со сроком готовности.
- Скажи, что о готовности не уведомляют: отслеживать по номеру партии (lote)
на портале записи.
- В части отделений
recogida — отдельная запись (свой трамит). Уточнить
на месте при сдаче отпечатков — это дешевле, чем узнать потом.
Ветка regreso (только по запросу)
Спроси один раз: планируется ли выезд из Испании до получения карты?
- Нет → не разворачивай. Одной строкой: «если планы изменятся — вернитесь,
есть autorización de regreso».
- Да → разверни норм-файл §9: основание (RD 1155/2024 art. 5), форма
EX-13, tasa (790-052 через Oficina de Extranjería, 790-012 через Comisaría),
фото, отдельная cita. Дальше — три вещи, каждую назови явно:
- Срок — до 90 дней, но точка отсчёта зависит от случая (норм-файл §9.1):
продление запрошено до истечения → от caducidad; запрошено после
истечения → от выдачи regreso; первичное разрешено favorable + поездка
по необходимости при исключительных обстоятельствах → от выдачи regreso.
Не называй один срок «типичным» — спроси, какой случай у пользователя.
- Ограничения на число пересечений НЕТ. В течение 90 дней въезды и выезды
не ограничены, документ один. Если пользователь пришёл с убеждением «одно
пересечение» — поправь прямо: это было в отменённом RD 557/2011.
- Ограничена точка въезда: только через habilitated испанские
Pasos Fronterizos, не через пограничные пункты других стран Шенгена.
Практическая формулировка того же — regreso не виза.
Структура user/tie-checklist.md
Пиши/перезаписывай файл (gitignored; значения — только здесь):
# TIE: последняя миля — обновлено <дата>
## Ключевые факты (от пользователя)
- Решение: <resolución | certificado de acto presunto> · уведомление: <дата>
- Тип: <INICIAL | RENOVADA> · член семьи: <да | нет>
- Отделение/провинция: <… | [ТРЕБУЕТСЯ]>
## Дедлайн
| Дата | Что наступает | Основание (норм-файл, as-of) | Статус |
## Шаги
- [ ] Cita на huellas — трамит: <название> · взята на: <дата | [ТРЕБУЕТСЯ]>
- [ ] Tasa 790-012 (титуляр) — эпиграф: <… | [ТРЕБУЕТСЯ]> · оплачено: <дата | нет>
- [ ] Tasa 790-012 (член семьи) — <не применяется, если подаётся соло> · эпиграф: <… | [ТРЕБУЕТСЯ]> · оплачено: <дата | нет>
- [ ] EX-17 — черновик: user/drafts/EX-17.md · field-QA: <OK/WRONG/MISSING>
- [ ] Фото 32×26 мм
- [ ] Пакет на визит (см. ниже)
- [ ] Сдача отпечатков — <дата>
- [ ] Recogida — отдельная cita? <да | нет | уточнить>
## Что нести
| Что | Есть | Комментарий |
## Regreso
<не требуется | развёрнуто: EX-13, tasa, cita, ограничения>
## Сверить вживую
- <суммы/эпиграф tasa, название трамита, требование падрона — по своей провинции>
Выход
Обновлённый user/tie-checklist.md + короткий ответ в чат: ближайший дедлайн
и одно-два конкретных действия. Явно повтори: это черновик и чеклист, суммы и
названия трамитов сверяются вживую, движок ни на что не записывает и ничего не
оплачивает.