3.8 KiB
3.8 KiB
type, work_item_id, verdict, version
| type | work_item_id | verdict | version |
|---|---|---|---|
| review | ORCH-059 | APPROVED | 1 |
Review ORCH-059
Summary
Выделенный Plane-статус «Confirm Deploy» как единственный триггер Фазы B прод-деплоя
self-hosting; Approved на стадии deploy становится детерминированным no-op. Реализация
точно соответствует ТЗ (TRZ-1..6), ADR-001 и критериям приёмки (AC-1..10). Четыре точечные
правки в трёх модулях (plane_sync.py, webhooks/plane.py, stage_engine.py), без изменения
контрактов (STAGE_TRANSITIONS, QG_CHECKS, check_deploy_status, Фазы A/C, merge-gate, схема
БД). Документация обновлена в том же PR. pytest tests/ -q — 763 passed.
Соответствие ТЗ и ADR
- TRZ-1 / AC-1 —
"Confirm Deploy" → "confirm_deploy"добавлен в_PLANE_NAME_TO_KEY; намеренно отсутствует в_DEFAULT_STATES→ fail-closed. Покрытоtest_tc01/tc02. - TRZ-2 / AC-2 —
handle_confirm_deploy(гардstage=="deploy") →_try_advance_stage(..., confirm_deploy=True)→ Фаза B. Покрытоtest_tc04/tc07/tc10. - TRZ-3 / AC-3 —
Approvedнаdeploy: ранний возврат ДО Quality Gate сnote="approved-on-deploy-noop", безinitiate_deploy, без ложного отката БАГ-8. Покрытоtest_tc05/tc07_approved_without_confirm_is_noop/tc11. - TRZ-4 / AC-4 —
handle_verdict(approved=True)не тронут; approve наanalysisпродвигает конвейер. Покрытоtest_tc06_approved_on_analysis_still_advances. - AC-5 — идемпотентность повторного «Confirm Deploy» (
self-deploy-already-initiated). Покрытоtest_tc08,test_tc06_approved_calls_prod_hook_exactly_once. - TRZ-5 / AC-6 — CTA Фазы A (Plane-коммент + Telegram) просит «Confirm Deploy» и явно
отмечает, что «Approved» прод-деплой не запускает. Покрыто
test_tc09. - TRZ-1 / AC-7 — доступ через
.get("confirm_deploy"), отсутствие статуса → ветка не активируется, безKeyError. Покрытоtest_tc03(API недоступен / статуса нет на доске). - TRZ-6 / AC-8 — условность через
self_deploy.self_deploy_applies; не-self репо без изменений. Покрытоtest_tc12. - AC-9 — контракты и схема БД не изменены; 763 теста зелёные.
Findings
P0 — Blocker
- нет
P1 — Must fix
- нет
P2 — Should fix
- нет
Документация
Обновлено в том же PR (AC-10 выполнен):
CLAUDE.md— раздел self-hosting: прод-деплой только через «Confirm Deploy»,Approved= no-op.docs/architecture/README.md— секция ORCH-036 уточнена + добавлена подсекция ORCH-059 (статус-триггер «Confirm Deploy»), запись в перечне статусов доработок.CHANGELOG.md— запись ORCH-059 в[Unreleased] / Added.- ADR
docs/work-items/ORCH-059/06-adr/ADR-001-confirm-deploy-status.md— заведён, отражает реализацию (4 правки, fail-closed, рассмотренные альтернативы). 07-infra-requirements.md— эксплуатационное предусловие (создать статус доски + сброс кэша).
Документация консистентна с кодом; golden-source инвариант соблюдён.