From ca41d9210bb156f632aa1ba80a781f18c05fce2e Mon Sep 17 00:00:00 2001 From: claude-bot Date: Sun, 7 Jun 2026 19:16:49 +0000 Subject: [PATCH] tester(ET): auto-commit from tester run_id=337 --- docs/work-items/ORCH-059/13-test-report.md | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 docs/work-items/ORCH-059/13-test-report.md diff --git a/docs/work-items/ORCH-059/13-test-report.md b/docs/work-items/ORCH-059/13-test-report.md new file mode 100644 index 0000000..d5ea52d --- /dev/null +++ b/docs/work-items/ORCH-059/13-test-report.md @@ -0,0 +1,71 @@ +--- +type: test-report +work_item_id: ORCH-059 +result: PASS +--- + +# Test Report — ORCH-059 + +Выделенный Plane-статус «Confirm Deploy» как единственный триггер Фазы B прод-деплоя +self-hosting; `Approved` на стадии `deploy` — детерминированный no-op. + +## Окружение +- Python: 3.12.13 +- pytest: 8.3.3 +- Prod orchestrator (8500): `/health` → `{"status":"ok"}` +- Дата: 2026-06-07 + +## Результаты (контракт-тесты `04-test-plan.yaml`) + +| TC ID | Описание | Тест | Результат | +|-------|----------|------|-----------| +| TC-01 | `_PLANE_NAME_TO_KEY`: `'Confirm Deploy' → 'confirm_deploy'` | test_tc01_confirm_deploy_name_to_key_mapping; test_tc01_confirm_deploy_not_in_default_states | PASS | +| TC-02 | `get_project_states` ORCH резолвит непустой UUID под `confirm_deploy`, ≠ `approved` | test_tc02_get_project_states_resolves_confirm_deploy | PASS | +| TC-03 | Fail-closed при отсутствии статуса (API недоступен / нет на доске) — без исключения | test_tc03_fail_closed_when_api_unreachable; test_tc03_fail_closed_when_status_not_on_board | PASS | +| TC-04 | `handle_issue_updated`: `Confirm Deploy` на `deploy` → путь Фазы B | test_tc04_confirm_deploy_routes_phase_b; test_tc04b_confirm_deploy_off_deploy_stage_is_noop | PASS | +| TC-05 | `Approved` на `deploy` НЕ вызывает `initiate_deploy` | test_tc05_approved_on_deploy_does_not_initiate | PASS | +| TC-06 | `Approved` на `analysis` по-прежнему продвигает → architecture | test_tc06_approved_on_analysis_still_advances | PASS | +| TC-07 | stage_engine: Фаза B только по confirm-deploy; `Approved` → no-op | test_tc07_confirm_deploy_initiates; test_tc07_approved_without_confirm_is_noop | PASS | +| TC-08 | Идемпотентность: повтор `Confirm Deploy` при маркере `initiated` → no-op | test_tc08_idempotent_repeat_confirm_deploy | PASS | +| TC-09 | CTA Фазы A содержит «Confirm Deploy», не предлагает «Approved» как триггер | test_tc09_phase_a_cta_requests_confirm_deploy | PASS | +| TC-10 | E2E: `Confirm Deploy` → `initiate_deploy` вызван, finalizer поставлен, маркер записан | test_tc10_confirm_deploy_e2e_initiates | PASS | +| TC-11 | E2E: `Approved` → деплой НЕ инициирован, задача остаётся на `deploy` | test_tc11_approved_e2e_noop | PASS | +| TC-12 | Условность: не-self репо verdict-статусы не меняют поведение деплоя | test_tc12_non_self_repo_unaffected | PASS | +| RG-01 | Полный регресс зелёный; STAGE_TRANSITIONS / QG_CHECKS без изменений | tests/ (763 passed) | PASS | + +Все 16 целевых тестов ORCH-059 (TC-01..TC-12) — PASS. + +## Сопоставление с критериями приёмки (`03-acceptance-criteria.md`) + +| AC | Покрытие | Результат | +|----|----------|-----------| +| AC-1 Статус резолвится | TC-01, TC-02 | PASS | +| AC-2 Confirm Deploy на `deploy` → Фаза B | TC-04, TC-07, TC-10 | PASS | +| AC-3 Approved на `deploy` НЕ деплоит | TC-05, TC-07, TC-11 | PASS | +| AC-4 Approved на `analysis` без регрессии | TC-06 | PASS | +| AC-5 Идемпотентность Фазы B | TC-08 | PASS | +| AC-6 CTA Фазы A просит Confirm Deploy | TC-09 | PASS | +| AC-7 Fail-closed без статуса | TC-03 | PASS | +| AC-8 Условность для не-self | TC-12 | PASS | +| AC-9 Инварианты, pytest зелёный | RG-01 (763 passed) | PASS | +| AC-10 Документация обновлена | проверено reviewer (12-review.md, APPROVED) | PASS | + +## Smoke test API (prod 8500) +- `GET /health` → `{"status":"ok","service":"orchestrator"}` +- `GET /status` → 200, активные задачи отдаются (вкл. ORCH-059 на `testing`) +- `GET /queue` → 200, counts + resilience + reconcile + reaper + post_deploy + +## Вывод pytest +``` +======================= 763 passed, 1 warning in 15.45s ======================== +``` +Целевой набор ORCH-059: +``` +======================== 16 passed, 1 warning in 0.75s ========================= +``` +(1 warning — PydanticDeprecatedSince20 в `src/config.py`, не относится к ORCH-059.) + +## Итог +**PASS** — все контракт-тесты (TC-01..TC-12) и регресс (763 passed) зелёные, +критерии приёмки AC-1..AC-10 покрыты, smoke API OK. Задача готова к стадии +deploy-staging.