8.9 KiB
Raw Blame History

Tasks

Ретроспективный перечень: [x] означает выполненное и подтверждённое в этой сессии либо наблюдаемое в текущем дереве. [ ] — оставшаяся проверка/доработка, которую этот propose не выполняет. Каждый пункт рассчитан не более чем на половину дня. Исправления соседнего репозитория перечислены как зависимость отдельной поставки.

1. Регрессионные проверки поставки и версии

  • 1.1 arm-core, api/tests/test_statements_engine.py: проверить установленную библиотеку после исправления ресурсов и версии; подтверждено 11 проходящими тестами.
  • 1.2 pylib_ai_arm_statements, tests/test_version.py и arm_statements/version.py: закрепить тестами приоритет непустого VERSION, fallback для отсутствующего/пустого стандартного файла, отсутствие метаданных и явный отсутствующий/пустой путь; критерий — все сценарии версии из specs/statement-library/spec.md проходят.
  • 1.3 pylib_ai_arm_statements, MANIFEST.in, setup.cfg, сборочный артефакт: проверить wheel/sdist и установить wheel в чистое временное окружение; критерий — импорт arm_statements и загрузка стандартных правил работают без доступа к исходному репозиторию, все YAML присутствуют.

2. Локальная установка и подключение в arm-core

  • 2.1 arm-core, Makefile: добавить STATEMENTS_DIR, цель install и переустановку в api/.venv; подтверждено успешным make install с установленным дистрибутивом 0.1.1.
  • 2.2 arm-core, Makefile: фильтровать raisa_* и pylib_ai* только в основных requirements, сохранить прежнюю обработку dev requirements; критерий — команды в Makefile и make -n venv соответствуют указанным фильтрам. Текущее дерево также включает установку локальной библиотеки в конце venv.
  • 2.3 arm-core, api/requirements.txt, api/arm_statements/, Makefile: зафиксировать наблюдаемое состояние перехода — pin 0.1.1, удаление встроенной копии, исключение statements-check из check-full; критерий — diff текущего дерева содержит эти изменения.
  • 2.4 arm-core, api/src, api/tests, api/pyproject.toml: сохранить импорты arm_statements после отмены переименования; критерий — нет новых импортов pylib_ai_arm_statements и отменён временный override mypy для этого имени.
  • 2.5 arm-core, api/pytest.ini, api/pyproject.toml, Makefile: согласовать testpaths и first-party-настройки с внешней библиотекой, вернуть проверку типов исходников ядра вместо удалённого вызова mypy; критерий — pytest не собирает удалённые arm_statements/tests, Ruff и mypy по исходникам ядра проходят, чужие исходники не проверяются как встроенные.
  • 2.6 arm-core, README.md, CLAUDE.md: согласовать инструкции с текущим venv, который уже устанавливает локальную библиотеку; критерий — документация объясняет отдельный make install как переустановку и путь STATEMENTS_DIR, а dry run соответствует инструкции.

3. Исправления внешней библиотеки

  • 3.1 pylib_ai_arm_statements, MANIFEST.in: заменить старые пути на arm_statements и arm_statements/rules; подтверждено переустановкой и успешной загрузкой правил в 11 тестах движка.
  • 3.2 pylib_ai_arm_statements, arm_statements/version.py: добавить fallback на метаданные дистрибутива, сохранив явный путь; подтверждено результатом 0.1.1 и None для явно переданного отсутствующего файла.
  • 3.3 pylib_ai_arm_statements, MANIFEST.in, arm_statements/version.py, результаты пунктов 1.2–1.3: подготовить отдельную проверяемую поставку/коммит библиотеки; критерий — изменения ресурсов и версии доступны независимо от рабочего дерева arm-core, номер опубликованного артефакта уникален. Публикация в реестр не входит в этот пункт.

4. Документирование выполненного

  • 4.1 arm-core, README.md, CLAUDE.md, комментарии конфигурации и api/src, api/contracts/recognition-result.schema.json: описать библиотеку и источник версии; подтверждено просмотром diff, Ruff, форматированием и проверкой JSON в этой сессии.
  • 4.2 arm-core, исторический план docs/superpowers/plans/2026-10-18-normalization-core-b.md и затронутые архивные OpenSpec-документы: пометить ссылки на копию и sync-statements как прежнюю схему; критерий — заметки об актуализации присутствуют, исторические требования не переписаны.
  • 4.3 arm-core, openspec/changes/use-installed-statements-library/: оформить proposal, design, дельты и этот перечень с границами задачи; критерий — все обязательные артефакты существуют и openspec validate use-installed-statements-library проходит.

5. Завершение проверки перехода

  • 5.1 arm-core, api/tests/test_statements_v2_edit.py::test_intake_statements_version_mismatch: повторить тест с доступной PostgreSQL/инфраструктурой; критерий — проходят случаи разных и совпадающих версий без ValidationError. Предыдущий запуск остановлен после зависания.
  • 5.2 arm-core, существующие тесты адаптера, домена и реальные фикстуры нормализации: выполнить подходящие lint/type/unit/integration-проверки после пунктов 1–3; критерий — подтверждены импорт из установленного пакета, отсутствие регрессии §7 и совместимость результата 2.0. Промежуточный прогон на отменённых импортах не засчитывается.
  • 5.3 arm-core, README.md, CLAUDE.md, дельты этого change: итогово сверить инструкции с проверенным поведением и перечислить необходимые уточнения для ../docs/context/03-architecture.md и 07-open-questions.md; критерий — README соответствует проверенным командам, а межрепозиторные уточнения перечислены для отдельного change в docs без новых неподтверждённых доменных правил.

Workflow follow-up

  • После отдельного запроса apply завершить только непомеченные пункты; код в рамках propose не менять.
  • Обновления общих docs и координацию версий сервисов оформить отдельным change в ../docs.
  • После review и необходимых проверок отдельно запросить sync/archive; этот change не синхронизируется и не архивируется автоматически.