# Proposal: Срез 1 (сквозное) — DBML v5.14, правила импорта из ЕЦП CRM, политика видимости, OQ **Срез:** 1 «Справочники» (`docs/context/09-delivery-plan.md`), сокращённый по решению владельца 04.10.2026: без UI справочника, минимальный экран администратора — цель быстрее дойти до Среза 2 (`tabular-parser`). **Репозиторий:** arm-ka-docs. **Issue:** RSHB/arm-ka-docs#6. **Дочерние change'и:** `arm-core/openspec/changes/slice-1-directories` (RSHB/arm-core#5), фикстура — RSHB/arm-ka-fixtures#2. ## Why Срез 1 требует двух решений, которые нельзя принять в коде молча: модель данных (ЮЛ одновременно в одной ГСК и одной ГСЗ — DBML v5.13 это запрещает) и правила импорта реальной выгрузки ЕЦП CRM, формат которой появился только сейчас (`docs/source/biq/ecp-export-lagal-entity.xlsx`, 8400 строк) и отличается от макета [38] и от предположений ТЗ. По CLAUDE.md изменение модели идёт только через новую версию DBML с changelog, алгоритмы — только через `05-domain-rules.md`. ## What Changes - **DBML v5.14** (`docs/model/data-model-v5.14.dbml`, v5.13 остаётся в истории): `related_group_member.kind` (денормализация `related_group.kind`) и частичный уникальный индекс `(legal_entity_id, kind) WHERE is_current` вместо `legal_entity_id` — ЮЛ может состоять одновременно в одной ГСК и одной ГСЗ (решение владельца, отменяет ANL-030); КПП не вводится; `audit_action` + `LEGAL_ENTITY_CHANGE`, `USER_CHANGE` (ТЗ 8.2 требует журнал изменений ЮЛ и пользователей, в v5.13 для них не было действия); уточнена семантика `company_group.crm_id` / `base_regional_office_id` по выгрузке ЕЦП. `entities-v5.14.md`, `04-data-model-guide.md`, ссылки в `CLAUDE.md` репозиториев — на v5.14. - **`05-domain-rules.md`:** новый **§13 «Импорт справочников из выгрузки ЕЦП CRM»** (формат файла, построчные правила, коды отчёта, транзакция, след в `audit_event` и S3, ручные операции справочника: перевод в другую ГК, вывод из состава, алиасы, ГСК/ГСЗ); **§10.1 «Видимость справочников»** — policy через данные (`regional_office.is_head_office`), без кода роли; ЗО не фильтрует (OQ-86). - **`07-open-questions.md`:** OQ-31 и OQ-32 закрыты решением владельца; OQ-25 частично закрыт по выгрузке (состав ГК «Русский Бисквит»); новые OQ-86…OQ-91 (ЗО-фильтр, типы `нерез.`/`ФЛ`, контрольные разряды ИНН, «ЦКБ»/«Головная организация», ИНН в нескольких ГК, одна ГСК/ГСЗ на ГК в выгрузке). - **Выгрузка ЕЦП** `docs/source/biq/ecp-export-lagal-entity.xlsx` закоммичена как первоисточник формата (добавлена владельцем); срез по ГК «Русский Бисквит» — фикстура `fixtures/directories/ecp-export-russkiy-biskvit.xlsx`. - **`09-delivery-plan.md`:** Срез 1 по факту (без UI справочника; минимальный экран администратора; импорт из ЕЦП); **`10-user-journey.md`:** пометка, что экраны справочника (50, 51, 61, 77–80) реализуются позже, API — в Срезе 1. - **`08-source-docs-index.md`:** строка про выгрузку ЕЦП. ## Capabilities Change документный: поведение описывается спеками дочернего change'а в `arm-core` (`directories-api`, `directory-import`, `directory-policy`, `users-admin`). Здесь — `skip_specs: true`. ## Impact - Таблицы DBML: `related_group_member` (новая колонка, новый индекс) — миграция 0002 в `arm-core`; остальные таблицы частей 01–02 без изменений структуры. - Правила: §13 — новый; §10.1 — уточнение §10; §3 (алиасы) — без изменений. - Потребители: `arm-core` (ORM, миграция, `check_dbml_vs_orm.py` на v5.14, импорт, policy), `fixtures` (срез выгрузки). ## Non-goals - UI справочника по макету (экраны 50, 51, 61, 77–80) — отдельный срез по решению владельца. - Расширение `entity_type` (нерезиденты, ФЛ), контрольные разряды ИНН, маппинг «ЦКБ» на ГО — после ответов на OQ-87…OQ-89. - Онлайн-интеграция с ЕЦП CRM — только файл. - Контракт сервисов распознавания — не затрагивается.