8.9 KiB
8.9 KiB
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: зафиксировать наблюдаемое состояние перехода — pin0.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 не синхронизируется и не архивируется автоматически.