3.5 KiB
Raw Blame History

Proposal

Why

Копирование arm_statements в сервис требует синхронизации исходников и привязывает версию нормализатора к локальному VERSION. Общий код теперь поставляется библиотекой pylib_ai_arm_statements==0.1.1; шлюз должен устанавливать её из локального источника, поскольку публикации в PyPI нет.

What Changes

  • Установить библиотеку из ../pylib_ai_arm_statements при make venv; добавить make install для переустановки и переменную STATEMENTS_DIR для пути.
  • Закрепить pylib_ai_arm_statements==0.1.1 в api/requirements.txt; при установке по requirements исключать pylib_ai* наряду с внутренними raisa_*.
  • Удалить api/arm_statements/, его тесты из pytest и проверку statements-check; проверять собственный код шлюза.
  • Сохранить импорт arm_statements, получать версию через API библиотеки statements_version() и записывать её в результат.
  • Передавать библиотеку в Docker отдельным build context и устанавливать внутри образа.
  • Обновить документацию, сообщения об ошибках, импорты и проверки версии установленного пакета.

Capabilities

New Capabilities

Нет.

Modified Capabilities

  • image-recognition-gateway: библиотека вместо копии нормализатора, источник service.statements_version, локальная установка и сборка образа.

Impact

Срез 3a из ../docs/context/09-delivery-plan.md, сопровождение OCR-нормализатора. Изменяется только arm-scan-gateway; ../arm-core служит примером, ../pylib_ai_arm_statements — готовым источником зависимости. Таблицы DBML v5.17 не затрагиваются. Алгоритмы из 05-domain-rules.md §11, §11.1 и §11.9 остаются в библиотеке; новых бизнес-правил нет.

Контракт statementDocument v2.0 сохраняется; значение версии отражает установленную библиотеку вместо коммита копии. Архивные change'и и основные спеки в рамках предложения не редактируются. Сквозных изменений в других сервисах этот change не вводит.

Non-goals

  • Публикация в PyPI, создание реестра пакетов или изменение библиотеки.
  • Переработка нормализации, транспорта SMB/NATS/S3, эмулятора и модели данных.
  • Редактирование общих JSON Schema из ../docs/contracts или пересборка golden под изменённые результаты.

Это описание уже подготовленных изменений рабочего дерева; задачи оформлены для отдельной сверки на этапе apply.