diff --git a/openspec/changes/unified-statement-normalization/design.md b/openspec/changes/unified-statement-normalization/design.md index 4bafbde..e2a0d94 100644 --- a/openspec/changes/unified-statement-normalization/design.md +++ b/openspec/changes/unified-statement-normalization/design.md @@ -580,10 +580,14 @@ column_index?}`, а не строка. ### Решения, которые нужны от владельца -- **Р-1** (шаг 1, п. 2) — форма общего кода: общий Python-пакет с dataclass-ами (сериализуемыми в json — golden-файлы - выхода шага 1 в fixtures), шагами 2–8 и словарями (§7, периоды, заголовки форм, диапазоны кодов; без словаря - строк), который подключают оба сервиса и ядро (рекомендация); запасной - вариант, если платформа не даст ставить пакет из git или зеркала, — копия по скрипту, как `sync-web.sh`. +- **Р-1** (шаг 1, п. 2) — **решено 17.10.2026: копия по скрипту.** Платформа не собирает Python-пакеты и не кладёт их + в свой Nexus, поэтому общий код — dataclass-ы шага 1 (сериализуемые в json, golden-файлы в fixtures), шаги 2–8 и + словари §7, периодов, заголовков форм, диапазонов кодов (без словаря строк) — живёт в отдельном репозитории + `arm-statements` со своими тестами и оформлен как пакет `arm_statements/` с `pyproject`. В tabular-parser, + scan-gateway и arm-core он лежит копией в `api/src/arm_statements/` с маркером коммита источника; раскладывает + скрипт `sync-statements` в docs по образцу `sync-web.sh`, `make check` потребителя проверяет свежесть копии, прямые + правки копии запрещены. Когда платформа научится собирать пакеты, копия заменяется строкой зависимости без смены + импортов. - **Р-2** (шаг 4, п. 5) — отсутствующая OCR-ячейка под колонкой: чистый `null` (предложение; потерю ловит §7) или подсветка «не распознано», как сейчас (больше ложных подсветок, AURORA-1524). - **Р-3** (шаг 5, п. 1) — **решено владельцем 17.10.2026:** сервисы отдают распознанный текст наименования;