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