28 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Проверка и поставка
## Выполнено при 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.