33 lines
4.9 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.

# 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 не редактировать.