# Проверка и поставка ## Выполнено при apply 23.10.2026 - Ветка arm-core: `statements-lib`; ветка библиотеки: `statements-library-packaging-checks`. - Версия библиотеки: 9 тестов (включая приоритет маркера, оба fallback и явно переданный путь). - Библиотека: 291 тест проходит, включая существующие golden-сценарии; исправлен старый путь `RULES_DIR` в `tests/test_loader.py`. - Wheel и sdist: `/tmp/statements-library-release/`, рядом README и SHA256SUMS. Все 8 YAML присутствуют в обоих артефактах. Wheel установлен в чистое окружение, из `/tmp` с `python -I` проверены импорт, стандартные правила и версия `0.1.1`. Публикации в реестр не было. - arm-core: `make lint` проходит (Ruff, форматирование 303 файлов, mypy 169 исходников ядра). - Интеграция: `test_intake_statements_version_mismatch` проходит; все 14 тестов `test_statements_v2_edit.py` проходят при доступе к локальному PostgreSQL. - Полный unit-прогон: 1556 passed, 10 skipped, 3 failed при DEBUG=false. Два сбоя dev-маршрутов связаны с параметром запуска: тестовое окружение требует DEBUG=true. Повтор с DEBUG=true: 61 passed (все случаи соответствующего теста маршрутов, test_me_and_dev_token.py и профильные тесты движка/домена). Оба сбоя dev-маршрутов устранены корректным параметром запуска; продуктовый код не менялся. - Конфигурация: исключён старый pytest testpath; arm_statements явно third-party в Ruff; mypy использует аннотации внешней библиотеки без проверки её внутренних ошибок и строгих overrides хоста. ## Уточнения для отдельного change общих docs 1. `../docs/context/03-architecture.md`: общая нормализация поставляется как дистрибутив `pylib-ai-arm-statements`, импорт `arm_statements`; исходники/YAML обслуживаются в репозитории библиотеки, встроенной копии и sync-statements в ядре нет. Локальный `make venv` устанавливает библиотеку; `make install` переустанавливает её; путь задаётся `STATEMENTS_DIR`. 2. `../docs/context/07-open-questions.md`: требуется согласовать идентификатор поставки между сервисами и ядром (маркер VERSION или версия дистрибутива) и выпуск уникальных версий. Новый номер OQ не назначается этим локальным change; доменные правила §7/§11 не меняются. 3. Комментарий `recognition_job.statements_version` в DBML по-прежнему относится к прежней схеме: его уточнение остаётся отдельным документальным обновлением без новых полей и миграций. Описание `service.statements_version` общей JSON-схемы уже согласовано отдельным docs change. 4. По явному выбору пользователя общая схема обновлена отдельным change `../docs/openspec/changes/document-statements-library-contract` в одноимённой ветке. Изменены только два description; JSON без этих аннотаций полностью совпадает с прежним. Все 18 примеров docs валидны, тест `test_vendored_contracts_are_identical_to_docs` проходит. Точечные заметки добавлены в 03-architecture, 07-open-questions и 09-delivery-plan; статус остальных сервисов не изменяется. ## Границы `.env.test`, `tests/test_config.py` и посторонние файлы не изменялись этим apply. Основные specs не синхронизированы, change не архивирован. Неподтверждённые проверки не отмечаются выполненными. ## Итоговый прогон после согласования docs `DEBUG=true pytest tests -m "not integration"`: 1559 passed, 10 skipped, 1125 deselected. Все 18/18 задач arm-core и 3/3 задачи отдельного docs change выполнены. Общий контракт, lint/type-проверки, тесты библиотеки и профильная интеграция подтверждены. Оба change остаются открытыми до отдельного sync/archive.