Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
5.5 KiB
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 — только файл.
- Контракт сервисов распознавания — не затрагивается.