4.7 KiB
4.7 KiB
Проверка реализации — 23.10.2026
Работа выполнена в ветке statements-lib. Основные спеки и архивные change'и не изменялись.
Установка и инструменты
make venvиmake installзавершились успешно.- Импорт
arm_statementsразрешается изapi/.venv/lib/python3.11/site-packages/arm_statements/; метаданные дистрибутива иstatements_version()возвращают0.1.1,default_rules()загружает словари. api/arm_statements/отсутствует; в pytest нет пути к тестам библиотеки;make -n check-fullне вызываетstatements-check, mypy проверяет толькоsrc.make lintпроходит: Ruff, форматирование, mypy.make helpиmake -n venv installсоответствуют README и CLAUDE. ПеременнаяSTATEMENTS_DIR, фильтрацияpylib_ai*и локальная переустановка присутствуют.
Тесты
- Проверки приложения, версии, нормализатора и границы контракта: 18 passed.
- Golden и реальные ответы: 7 skipped, поскольку
../fixtures/ocrотсутствует. Эталоны не изменялись; эквивалентность на реальных данных этим прогоном не подтверждена. - Сообщение о недоступной версии проверяется на рекомендацию
make installв двух существующих тестах. DEBUG=false make check: 896 passed, 25 skipped, 11 deselected, 1 failed за 7.11 с.- Единственное падение:
tests/unit/test_emulator.py::TestHashIndex::test_uppercase_extension_acceptedожидает<uuid>.pdf.doneпосле обработки.PDF. Это известное падение из design и задачи 4.1; эмулятор в этом change не исправлялся. Общий набор тестов не зелёный.
Docker
make docker-buildзавершился успешно; дополнительный контекстstatementsпередаёт исходники и файлы сборки пакета.- Образ проверен через
docker run --rm --network none --entrypoint python scan-gateway:dev ..., без volume. - В образе импорт разрешается из
/usr/local/lib/python3.11/site-packages/arm_statements/, версия0.1.1, словари и созданиеOcrNormalizer()доступны.
Сверка общих документов (задача 4.2)
README описывает фактическую локальную установку и сборку. Новых бизнес-правил, полей DBML и допущений OQ нет. 07-open-questions.md не требует нового вопроса о бизнес-логике.
Для отдельного согласованного change в ../docs требуется обновить описание поставки общего кода:
context/03-architecture.md, раздел «Общий код нормализации ББ/ОФР»: убрать утверждение, что все потребители используютapi/arm_statements/,VERSIONиsync-statements; описать библиотеку и локальную установку для переведённых потребителей, сохранив фактический статус остальных.context/05-domain-rules.md§11, абзац «Где код»: согласовать техническое описание поставки с библиотекой без изменения алгоритмов §11.1–§11.9.- При обновлении общего контракта отдельно согласовать историческое описание
service.statements_versionкак коммита копии вcontracts/recognition-result.schema.json, затем синхронно обновить потребителей по правилу идентичности схем. В этом change схема не редактируется.
Эти пункты оформлены как результат сверки, предусмотренный задачей 4.2, и не означают внесение изменений в соседний репозиторий. Sync и archive данного change выполняются отдельным действием.