tester(ET): auto-commit from tester run_id=445
This commit is contained in:
88
docs/work-items/ORCH-089/13-test-report.md
Normal file
88
docs/work-items/ORCH-089/13-test-report.md
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
---
|
||||||
|
type: test-report
|
||||||
|
work_item_id: ORCH-089
|
||||||
|
result: PASS
|
||||||
|
---
|
||||||
|
|
||||||
|
# Test Report — ORCH-089
|
||||||
|
|
||||||
|
Авто-режим по лейблам: autoApprove (авто-BRD) + autoDeploy (авто-деплой).
|
||||||
|
|
||||||
|
## Окружение
|
||||||
|
- Python: 3.12.13
|
||||||
|
- pytest: 8.3.3
|
||||||
|
- Branch: feature/ORCH-089-autoapprove-brd-autodeploy
|
||||||
|
- Дата: 2026-06-09
|
||||||
|
|
||||||
|
## Предусловия
|
||||||
|
- Review verdict: **APPROVED** (`12-review.md`, P0/P1 — нет).
|
||||||
|
- Prod health (8500): `{"status":"ok"}` — конвейер всех проектов жив, деструктивные операции не выполнялись.
|
||||||
|
|
||||||
|
## Результаты (test-plan `04-test-plan.yaml`)
|
||||||
|
|
||||||
|
Все 26 TC из плана покрыты 43 целевыми тестами (7 модулей). Сопоставление с критериями приёмки (`03-acceptance-criteria.md`):
|
||||||
|
|
||||||
|
| TC ID | Описание | AC | Результат |
|
||||||
|
|-------|----------|-----|-----------|
|
||||||
|
| TC-01 | has_label=True когда лейбл присутствует | AC-1 | PASS |
|
||||||
|
| TC-02 | has_label=False когда лейбла нет | AC-4 | PASS |
|
||||||
|
| TC-03 | has_label при ошибке Plane/таймауте → fail-safe, never-raise | AC-6 | PASS |
|
||||||
|
| TC-04 | Нормализация имени лейбла; неоднозначность → нет авто | AC-6 | PASS |
|
||||||
|
| TC-05 | applies: scope CSV + self-hosting; пустой scope по дефолту | AC-8 | PASS |
|
||||||
|
| TC-06 | auto_label_enabled=False → нет авто без сетевых вызовов | AC-8 | PASS |
|
||||||
|
| TC-07 | fetch_issue_labels парсит labels + резолв uuid→имя | AC-1 | PASS |
|
||||||
|
| TC-08 | Карта лейблов проекта кэшируется с TTL | AC-8 | PASS |
|
||||||
|
| TC-09 | set_issue_approved PATCH в Approved-UUID; never-raise | AC-1 | PASS |
|
||||||
|
| TC-10 | autoApprove → авто-advance analysis→architecture, Approved, клок закрыт | AC-1 | PASS |
|
||||||
|
| TC-11 | Без лейбла autoApprove → In Review, return без advance | AC-4 | PASS |
|
||||||
|
| TC-12 | autoApprove без артефактов → НЕ advance | AC-5 | PASS |
|
||||||
|
| TC-13 | autoApprove через тот же advance-путь; идемпотентно | AC-1 | PASS |
|
||||||
|
| TC-14 | autoApprove: лог + Telegram/карточка + Plane-коммент | AC-7 | PASS |
|
||||||
|
| TC-15 | autoDeploy + Phase A → авто _handle_self_deploy_phase_b | AC-2 | PASS |
|
||||||
|
| TC-16 | Без лейбла autoDeploy → Awaiting Deploy, ждёт человека | AC-4 | PASS |
|
||||||
|
| TC-17 | autoDeploy идемпотентен: маркер INITIATED → no-op | AC-2 | PASS |
|
||||||
|
| TC-18 | autoDeploy не-self/вне scope → no-op | AC-8 | PASS |
|
||||||
|
| TC-19 | autoDeploy: лог + Telegram + Plane-коммент | AC-7 | PASS |
|
||||||
|
| TC-20 | Только autoApprove: BRD авто, деплой ждёт человека | AC-9 | PASS |
|
||||||
|
| TC-21 | Только autoDeploy: BRD ждёт человека, деплой авто | AC-9 | PASS |
|
||||||
|
| TC-22 | auto_label_enabled=False → оба гейта ручные | AC-8 | PASS |
|
||||||
|
| TC-23 | Оба лейбла + зелёные тех-гейты → analysis→deploy автономно | AC-3 | PASS |
|
||||||
|
| TC-24 | autoDeploy + красный staging/merge-gate → Phase B НЕ инициирован | AC-5 | PASS |
|
||||||
|
| TC-25 | Регресс: без лейблов оба гейта как до ORCH-089 | AC-4 | PASS |
|
||||||
|
| TC-26 | Инвариант: STAGE_TRANSITIONS и QG_CHECKS не изменены | AC-10 | PASS |
|
||||||
|
|
||||||
|
## Smoke test API (prod 8500)
|
||||||
|
- `GET /health` → `{"status":"ok","service":"orchestrator"}` — OK
|
||||||
|
- `GET /status` → 200, активные задачи перечислены (ORCH-089 = `testing`) — OK
|
||||||
|
- `GET /queue` → 200, блоки наблюдаемости присутствуют — OK
|
||||||
|
|
||||||
|
> Примечание: блок `auto_labels` в `GET /queue` на 8500 пока отсутствует — это ожидаемо:
|
||||||
|
> прод-контейнер исполняет код до ORCH-089 (задача ещё в `testing`, не задеплоена).
|
||||||
|
> Блок добавляется кодом ветки и покрыт юнит-тестами (snapshot/observability) выше.
|
||||||
|
|
||||||
|
## Вывод pytest (полный регресс)
|
||||||
|
|
||||||
|
```
|
||||||
|
======================= 1157 passed, 1 warning in 37.99s =======================
|
||||||
|
```
|
||||||
|
|
||||||
|
Целевой набор ORCH-089 (7 модулей):
|
||||||
|
|
||||||
|
```
|
||||||
|
tests/test_labels.py ................ (14)
|
||||||
|
tests/test_plane_sync_labels.py ..... (11)
|
||||||
|
tests/test_auto_approve_brd.py ...... (5)
|
||||||
|
tests/test_auto_deploy.py ........... (5)
|
||||||
|
tests/test_auto_label_combinations.py (3)
|
||||||
|
tests/test_auto_labels_integration.py (3)
|
||||||
|
tests/test_auto_labels_invariants.py . (2)
|
||||||
|
======================== 43 passed, 1 warning in 1.09s =========================
|
||||||
|
```
|
||||||
|
|
||||||
|
Единственный warning — `PydanticDeprecatedSince20` (class-based config в `src/config.py`),
|
||||||
|
не связан с ORCH-089, присутствует в baseline.
|
||||||
|
|
||||||
|
## Итог
|
||||||
|
|
||||||
|
**PASS** — все 26 TC плана зелёные, полный регресс 1157/1157 пройден, smoke-тесты OK,
|
||||||
|
инварианты (STAGE_TRANSITIONS/QG_CHECKS, AC-10) подтверждены. Задача готова к `deploy-staging`.
|
||||||
Reference in New Issue
Block a user