From bc2347abd3f8f44ae89edbd09830a6dd801a28e2 Mon Sep 17 00:00:00 2001 From: claude-bot Date: Sun, 7 Jun 2026 21:59:41 +0000 Subject: [PATCH] tester(ET): auto-commit from tester run_id=343 --- docs/work-items/ORCH-066/13-test-report.md | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 docs/work-items/ORCH-066/13-test-report.md diff --git a/docs/work-items/ORCH-066/13-test-report.md b/docs/work-items/ORCH-066/13-test-report.md new file mode 100644 index 0000000..9eb8b83 --- /dev/null +++ b/docs/work-items/ORCH-066/13-test-report.md @@ -0,0 +1,77 @@ +--- +type: test-report +work_item_id: ORCH-066 +result: PASS +--- + +# Test Report — ORCH-066 + +Осмысленная статусная модель Plane (слой B — индикация). Прогон полного регресса + +покрытие тест-плана `04-test-plan.yaml` + проверка инвариантов слоя A. + +## Окружение +- Python: 3.12.13 +- pytest: 8.3.3 +- Ветка: feature/ORCH-066-plane +- Дата: 2026-06-07 + +## Результаты по тест-плану (04-test-plan.yaml) + +| TC ID | Покрывает | Описание | Модуль | Результат | +|-------|-----------|----------|--------|-----------| +| TC-01 | AC-1 | To Analyse без task → start_pipeline | test_status_trigger.py | PASS | +| TC-02 | AC-2,BR-11 | To Analyse resume аналитика, без двойного task | test_plane_to_analyse_resume.py | PASS | +| TC-03 | AC-3 | Старт/relaunch → статус Analysis | test_plane_status_model.py | PASS | +| TC-04 | AC-4 | Busy-guard: active-job → не relaunch | test_plane_to_analyse_resume.py | PASS | +| TC-05 | AC-5 | review → статус Code-Review | test_plane_status_model.py | PASS | +| TC-06 | AC-6,AC-13 | Phase A → Awaiting Deploy (не In Review) | test_deploy_approve.py | PASS | +| TC-07 | AC-7 | Phase B → Deploying | test_deploy_approve.py | PASS | +| TC-08 | AC-8 | Phase C self → Monitoring after Deploy | test_deploy_terminal_sync.py | PASS | +| TC-09 | AC-9 | Не-self deploy→done → Done (без регресса) | test_deploy_terminal_sync.py | PASS | +| TC-10 | AC-10 | Post-deploy HEALTHY → Done | test_post_deploy.py | PASS | +| TC-11 | AC-11 | Post-deploy DEGRADED → Blocked | test_post_deploy.py | PASS | +| TC-12 | AC-12 | Self-тик не рестартит прод | test_post_deploy.py | PASS | +| TC-13 | AC-13 | In Review только за approve-pending | test_analyst_status_only_regression.py | PASS | +| TC-14 | AC-14,BR-10 | Needs Input без изменений | test_plane_status_model.py | PASS | +| TC-15 | AC-15 | Cancelled → нет действий конвейера | test_plane_webhook.py | PASS | +| TC-16 | AC-16,BR-12 | Fail-closed default-алиасы, нет исключений | test_plane_status_failclosed.py | PASS | +| TC-17 | AC-16 | Plane API down → fallback, never-raise | test_plane_status_failclosed.py | PASS | +| TC-18 | AC-17 | enduro In Progress стартует через алиас | test_plane_status_failclosed.py | PASS | +| TC-19 | AC-18 | Резолв по имени → корректный UUID | test_orch10_states.py | PASS | +| TC-20 | AC-19 | F-2 реконсилирует To Analyse | test_reconciler_plane.py | PASS | +| TC-21 | AC-20,BR-13 | Guard 2 skip активных ожиданий | test_reconciler.py | PASS | +| TC-22 | AC-21 | STAGE_TRANSITIONS не изменён | test_plane_status_model.py | PASS | +| TC-23 | AC-22 | QG_CHECKS/check_deploy_status не изменены | test_plane_status_model.py | PASS | +| TC-24 | AC-23 | Полный регресс pytest зелёный | tests/ | PASS | + +Все 24 тест-кейса — PASS. + +## Инварианты слоя A (AC-21 / AC-22) +Diff против `origin/main` (merge-base `4815e378`): +- `src/stages.py` (STAGE_TRANSITIONS) — diff пуст ✔ +- `src/qg/checks.py` (QG_CHECKS, check_deploy_status) — diff пуст ✔ +- `src/config.py` (без kill-switch) — diff пуст ✔ + +## Smoke test API (TestClient — прод-контейнер 8500 не трогался) +> `curl` в окружении недоступен; smoke прогнан через FastAPI TestClient (lifespan), +> без рестарта/обращения к прод-контейнеру (self-hosting safety). + +| Endpoint | Статус | Тело (фрагмент) | +|----------|--------|-----------------| +| GET /health | 200 | `{"status":"ok","service":"orchestrator"}` | +| GET /status | 200 | `{"active_tasks":[...]}` | +| GET /queue | 200 | `{"counts":{...},"max_concurrency":1,...}` | + +## Вывод pytest +``` +======================= 774 passed, 1 warning in 17.68s ======================== +``` +(единственный warning — PydanticDeprecatedSince20 в src/config.py, предсуществующий, +не связан с ORCH-066) + +Прогон по модулям тест-плана: `117 passed` (ORCH-066-специфичные файлы). + +## Итог +PASS — все тесты зелёные (774 passed), все 24 TC покрыты, инварианты слоя A +сохранены (diff пуст), smoke-эндпоинты отвечают 200. Review-вердикт APPROVED. +Задача готова к переходу на стадию deploy-staging.