# Tasks Задачи относятся к `arm-scan-gateway`, каждая рассчитана не более чем на полдня. Изменения рабочего дерева уже подготовлены; чекбоксы оставлены для сверки в отдельном apply, а не как утверждение о новой реализации в propose. ## 1. Проверки версии и совместимости - [x] 1.1 В `api/tests/unit/test_app.py` сверить версию нормализатора с метаданными `pylib-ai-arm-statements` вместо удалённого `api/arm_statements/VERSION`; проверить тест `test_create_app_uses_package_rules` после локальной установки. - [x] 1.2 В `api/tests/unit/normalizer/test_ocr_normalizer.py` и `test_contract_boundary.py` проверить получение версии и отказ при её отсутствии; выполнить эти тесты и убедиться, что сообщение указывает на `make install`. - [x] 1.3 Сверить `api/tests/unit/normalizer/test_golden.py` и `test_real_answers.py` с `../fixtures/ocr/aep_3.json`, `aep_6.json` и существующими expected_normalize: выполнить при доступных фикстурах, иначе явно зафиксировать пропуски, не менять эталоны ради прохождения. ## 2. Локальная зависимость и проверки сервиса - [x] 2.1 Сверить `Makefile` и `api/requirements.txt`: версия `0.1.1`, фильтрация `pylib_ai*`, `STATEMENTS_DIR`, `make venv` и переустановка `make install`; выполнить обе команды, проверить импорт из site-packages, метаданные и `default_rules()`. - [x] 2.2 Сверить удаление `api/arm_statements/`, его `testpaths` в `api/pytest.ini`, аргумента mypy и `statements-check` в `Makefile`; проверить отсутствие копии и вызова sync-скрипта, выполнить `make -n check-full`. - [x] 2.3 Сверить `api/pyproject.toml` и импорты `api/src/normalizer/**`, `api/tests/**`: сторонняя библиотека в Ruff, адресный `follow_untyped_imports`; выполнить `make lint`. - [x] 2.4 Сверить `api/src/normalizer/ocr/__init__.py`, комментарии в `api/src/app.py`, `api/src/normalizer/outcome.py`, `api/src/contract/common.py` и `api/tests/golden_update.py`; проверить отсутствие инструкций синхронизации копии и успешность тестов группы 1. - [x] 2.5 Сверить README и CLAUDE: указаны библиотека, отсутствие PyPI, `make install`, `STATEMENTS_DIR`; проверить соответствие примеров `make help` и `make -n venv install`. ## 3. Docker-поставка - [x] 3.1 Сверить `Dockerfile` и `Makefile`: дополнительный context `statements`, фильтрация requirements и установка только необходимых исходников и файлов сборки; выполнить `make docker-build`. - [x] 3.2 Проверить собранный образ без монтирования библиотеки: импорт `arm_statements`, `default_rules()` и версия `0.1.1` доступны; сверить Docker-инструкции README с фактической командой сборки. ## 4. Итоговая приёмка и документация среза - [x] 4.1 Выполнить `make check` и зафиксировать результат; внешнее некорректное значение `DEBUG` при необходимости переопределить `DEBUG=false`. Отдельно описать известное падение `test_uppercase_extension_accepted`, если оно повторяется, без исправления эмулятора в этом change. - [x] 4.2 Сверить README с итоговой реализацией и проверить, что `../docs/context/03-architecture.md` и `07-open-questions.md` не требуют сквозной правки в рамках этого локального change. Если обнаружено требуемое сквозное изменение, описать его для отдельного change в docs; проверить отсутствие новых бизнес-правил и допущений OQ. ## Workflow follow-up - После review и отдельного apply синхронизировать delta с основной спекой и архивировать change отдельной командой. - Архивные change'и и общие JSON Schema в этом change не редактировать.