---
name: dnv-synthesis-acogood
title: Сборка документации кейса — справочник
description: Внутренний справочник по сборке рабочей документации кейса. Структура spec.md (шаблон, теги достоверности, as-of), генерация action-plan.md, ветвление initial vs renovación. Используй когда нужно собрать или обновить нормативную базу кейса и план действий.
author: acogood
author_url: https://github.com/acogood/spain-dnv-consultant/tree/main/.claude/skills/dnv-synthesis
license: MIT
version: 0.1.0
execution_mode: open
jurisdiction: es
practice: immigration
language: ru
---

# Сборка документации кейса — справочник

Когда нужно собрать нормативную базу кейса (spec) или составить план действий
(action-plan) — используй этот справочник. Оба документа живут в `user/`
(gitignored) и являются **внутренними рабочими документами**, не юридической
консультацией.

## Приватность (КРИТИЧНО)

Значения профиля идут **только** в файлы `user/` (gitignored). **Не** дублируй
NIE/имена/суммы/адрес в `CLAUDE.md`, память или любой коммитимый файл.

## Action-plan.md — первичный артефакт

Для сценариев «первичная подача» и «продление» главный результат —
**пошаговый план действий** (`user/action-plan.md`). Структура и формат
карточек описаны в `CLAUDE.md` §«Как строить план». Здесь — дополнительные
заметки по сборке:

- **Таймлайн от целевой даты назад.** Фазы не фиксированы: у кого-то 3 недели
  до подачи, у кого-то полгода. Структуру фаз определяй под конкретный кейс.
- **Каждая карточка = одно действие** с правовым контекстом, спецификой кейса,
  пререквизитами, пошаговым гайдом, дедлайном и ответственным.
- **Теги достоверности** на каждом факте (см. ниже).
- **Живые значения** (SMI, суммы tasa, состав пакета) — из живых источников
  с пометкой «(проверить вживую)», не из устаревшей базы как факт.
- **План — живой документ.** По мере разговора обновляй: карточка выполнена →
  `[x]` + дата; обнаружена проблема → новая карточка; изменились сроки →
  пересчёт фаз.

## Spec.md — рабочий документ с нормативной базой

`user/spec.md` — внутренний рабочий документ, собирающий нормативную базу
конкретного кейса. Строится по шаблону `templates/spec_renewal.template.md`
(секции 0–12).

### Входы для сборки

1. `user/case-profile.json` — значения для `{{ПЛЕЙСХОЛДЕРОВ}}`.
2. `user/research-notes.md` — **живые находки** (с источниками и as-of),
   если есть. Если их нет — работай с курируемой базой и пометь, что живая
   проверка не проводилась.
3. `knowledge_base/sources/primary/*` — **дословные тексты** законов и
   Instrucción (BOE + inclusion.gob.es). **Единственный якорь тега `[норма]`.**
4. `knowledge_base/norms/*` — разбор норм + **as-of** даты. Шапка каждого
   файла называет статьи в `sources/primary/`, на которые он якорится.
   **При расхождении `norms/` ↔ `primary/` прав `primary/`** — зафиксируй
   расхождение в §11.
5. `knowledge_base/practice/digest.md` — практика (мнение). ⚠️ Пункт дайджеста
   **не знает, к какому кейсу применим**: прежде чем поднимать из него блокер,
   сверься с нормативной рамкой.
6. `knowledge_base/norms/solicitud-inicial.md` — **при `case.process_type ==
   initial` читать обязательно**: маршрут, законность пребывания, кто подписывает
   без NIE, обязательство по Seguridad Social, риск extinción.

### Ветвление initial vs renovación в шаблоне

- **Раздел «2-bis. Маршрут первичной подачи»** заполняется только при `initial`;
  при `renovación` он **удаляется целиком**, а заполняется «Окно подачи».
- При `initial` раздел «Окно подачи» удаляется, потому что у первичной подачи
  окна нет.

### Правила заполнения

- **Плейсхолдеры `{{...}}`** — подставь из профиля. Нет значения → оставь
  `[ТРЕБУЕТСЯ: …]`, **не выдумывай** (особенно REGAGE/expediente — их нет до
  подачи; §0 остаётся «не подано»).

- **Каждое утверждение — с тегом достоверности:**
  `[норма]` · `[официальное разъяснение]` · `[практика — консультант]` ·
  `[практика — Telegram]` · `[не подтверждено]`

- **Тег `[норма]` проверяем:** утверждение без дословного текста в
  `sources/primary/` (или живом BOE) этот тег нести **не может** — максимум
  `[официальное разъяснение]`. Не повышай уровень «потому что звучит как закон».

- **Пороги/процедурное** — бери **живые** значения из `research-notes` (с годом
  + источником); если их нет или они `[не подтверждено]` — сохрани пометку
  «(проверить вживую)», не подставляй устаревшее из базы как факт.

- **Приоритет источников при конфликте:** живой `[норма]` (BOE) >
  `sources/primary/` (дословный текст) > `norms/` (разбор) >
  `[официальное разъяснение]` > `[практика]`. Расхождения фиксируй в
  §11 «Расхождения».

- **Практика** (§4.7, §2 уточнения) — из дайджеста, с явным «Telegram = мнение».

### Шапка достоверности

В начало `user/spec.md` добавь блок:

```markdown
> **Синтез от:** <дата>  ·  **Рисёрч от:** <дата research-notes | «не проводился»>
> **Практика:** <дайджест | дайджест + свежие slices>
> As-of норм-базы: <дата из norms/ (перепроверено вживую там, где помечено)>.
```

## Извлечение утверждений для верификации

Когда spec или план готовы и нужна проверка фактов — используй
`engine/scripts/extract_claims.py` для извлечения утверждений с тегами.
Каждое `[не подтверждено]` — кандидат в «список внешних проверок».

## Если данных не хватает

Если профиля нет или он неполон — собери недостающее в разговоре (справочник:
dnv-intake). Если живых находок нет — работай с курируемой базой и пометь
ограничение. Не останавливайся с требованием «сначала сделайте X».
