4.1 KiB
type, work_item_id, verdict, version
| type | work_item_id | verdict | version |
|---|---|---|---|
| review | ORCH-036 | APPROVED | 2 |
Review ORCH-036 — Исполняемый самодеплой стадии deploy (Вариант B)
Summary
Re-review после фикса двух P1 из версии 1. Оба блокера устранены:
- Stale deploy-state маркеры — добавлен
self_deploy.clear_state(repo, work_item_id)(never-raise, idempotent, рекурсивное удаление<repos_dir>/.deploy-state-<repo>/<wi>/) в ветке БАГ-8-откатаcheck_deploy_statusFAILED (_handle_qg_failure_rollbacks,src/stage_engine.py) и дополнительно в начале Фазы A (_handle_self_deploy_phase_a) как belt-and-suspenders. Добавлен регрессионный тестtests/test_deploy_rollback.py::test_tc11_re_deploy_after_rollback_not_wedged, доказывающий, что после FAILED → откат → фикс → повторный заход наdeployФаза B РЕАЛЬНО инициирует деплой (нет no-op по устаревшемуinitiated), плюсtests/test_deploy_hook_mapping.py::test_clear_state_removes_all_markers_and_is_idempotent. .env.example— добавлен полный блок дескрипторовORCH_SELF_DEPLOY_*/ORCH_DEPLOY_*(14 настроек, плейсхолдеры, секреты не коммитятся) по образцу merge-gate ORCH-043, с подробными комментариями.
Реализация трёхфазного исполняемого самодеплоя соответствует ADR-001 и закрывает
критерии приёмки AC-1…AC-13. Контракты STAGE_TRANSITIONS / QG_CHECKS /
_parse_deploy_status / БАГ-8 / terminal-sync / merge-gate (ORCH-43) НЕ тронуты;
условность по репо (self_deploy_applies) корректна; перехваты упорядочены верно
(Phase B после terminal-check, Phase A после merge-gate); deploy-finalizer —
детерминированный no-LLM reserved-agent, перехвачен в launcher до _spawn. Все
импорты (set_issue_in_review, plane_add_comment, set_issue_blocked,
send_telegram) присутствуют. pytest tests/ — 568 passed.
Findings
P0 — Blocker
- (нет)
P1 — Must fix
- (нет — оба P1 из версии 1 устранены и покрыты тестами)
P2 — Should fix
- (нет блокирующих; прежний P2 про сквозную процедуру оператора частично закрыт: env-карта новых настроек добавлена в INFRA.md, пошаговый approve→deploy описан в deployer.md и DEPLOY_HOOK.md)
Документация
Обновлена содержательно и в том же PR:
.openclaw/agents/deployer.md— стадияdeployпереписана: self-hosting путь (Фазы A/B/C, явный запрет рестарта 8500 изнутри агента) vs прежний синхронный ssh-путь для не-self репо;docs/operations/INFRA.md— env-карта всех новыхORCH_SELF_DEPLOY_*/ORCH_DEPLOY_*;docs/operations/DEPLOY_HOOK.md—SOURCE_IMAGEbuild-once + прод-пример;docs/architecture/README.md— раздел «Исполняемый самодеплой стадииdeploy»;CHANGELOG.md— запись Added (фича) + запись Fixed (review-fix: clear_state + .env.example);- ADR
docs/work-items/ORCH-036/06-adr/ADR-001-executable-self-deploy.md+ глобальныйdocs/architecture/adr/adr-0007-executable-self-deploy.md; .env.example— канонический шаблон (CLAUDE.md №8, ТЗ §2.6) дополнен (был пробел в v1).
Документация = golden source: изменения src/ сопровождены синхронным обновлением
доки в том же PR. Ось документации — PASS.