analyst(ET): auto-commit from analyst run_id=333

This commit is contained in:
2026-06-07 18:54:22 +00:00
committed by deployer
parent 8fcb867dcf
commit b67a61ecef
4 changed files with 403 additions and 0 deletions

View File

@@ -0,0 +1,109 @@
work_item: ORCH-059
title: Approve прод-деплоя через выделенный статус «Confirm Deploy»
repo: orchestrator
stage: analysis
# Контракт-тесты: триггер прод-деплоя смещается с перегруженного `Approved`
# на выделенный статус `Confirm Deploy`. Деплой и сетевые вызовы мокаются.
tests:
- id: TC-01
type: unit
description: "_PLANE_NAME_TO_KEY содержит маппинг 'Confirm Deploy' -> 'confirm_deploy'"
module: tests/test_plane_states.py
expected: PASS
- id: TC-02
type: unit
description: >-
get_project_states для проекта ORCH (мок API со статусом 'Confirm Deploy')
возвращает непустой UUID под ключом 'confirm_deploy', отличный от 'approved'
module: tests/test_plane_states.py
expected: PASS
- id: TC-03
type: unit
description: >-
Fail-closed: при отсутствии статуса 'Confirm Deploy' (fallback _DEFAULT_STATES /
недоступный API) доступ к ключу confirm_deploy не выбрасывает исключение
и не активирует ветку confirm-deploy
module: tests/test_plane_states.py
expected: PASS
- id: TC-04
type: unit
description: >-
handle_issue_updated: статус 'Confirm Deploy' на задаче стадии deploy
маршрутизируется на путь Фазы B (а не на обычный approve/advance)
module: tests/test_plane_confirm_deploy.py
expected: PASS
- id: TC-05
type: unit
description: >-
handle_verdict/Approved на стадии deploy НЕ вызывает self_deploy.initiate_deploy
(initiate_deploy замокан и не должен быть вызван)
module: tests/test_plane_confirm_deploy.py
expected: PASS
- id: TC-06
type: unit
description: >-
Approved на стадии analysis по-прежнему продвигает analysis -> architecture
(approved-via-status, регрессия гейта check_analysis_approved)
module: tests/test_plane_confirm_deploy.py
expected: PASS
- id: TC-07
type: unit
description: >-
stage_engine: блок Фазы B (current_stage==deploy, finished_agent is None)
инициирует deploy ТОЛЬКО по сигналу confirm-deploy; Approved-сигнал -> no-op
module: tests/test_stage_engine_phase_b.py
expected: PASS
- id: TC-08
type: unit
description: >-
Идемпотентность: при существующем маркере 'initiated' повторный
Confirm Deploy не вызывает initiate_deploy (self-deploy-already-initiated)
module: tests/test_stage_engine_phase_b.py
expected: PASS
- id: TC-09
type: unit
description: >-
CTA Фазы A (_handle_self_deploy_phase_a): текст Plane-комментария и Telegram
содержат 'Confirm Deploy' и не предлагают 'Approved' как триггер деплоя
module: tests/test_stage_engine_phase_a_cta.py
expected: PASS
- id: TC-10
type: integration
description: >-
E2E (мок Plane API + self_deploy): задача на deploy -> webhook Confirm Deploy
-> initiate_deploy вызван, deploy-finalizer поставлен, маркер initiated записан
module: tests/test_confirm_deploy_integration.py
expected: PASS
- id: TC-11
type: integration
description: >-
E2E: задача на deploy -> webhook Approved -> прод-деплой НЕ инициирован,
задача остаётся на deploy (нет отката, нет advance в done)
module: tests/test_confirm_deploy_integration.py
expected: PASS
- id: TC-12
type: integration
description: >-
Условность: для не-self репозитория verdict-статусы на deploy не меняют
поведение деплоя (self_deploy_applies == False)
module: tests/test_confirm_deploy_integration.py
expected: PASS
regression:
- id: RG-01
type: integration
description: "pytest tests/ -q зелёный; STAGE_TRANSITIONS и QG_CHECKS без изменений"
module: tests/
expected: PASS