5.8 KiB
5.8 KiB
result, work_item, stage, author_agent, status, created_at, model_used, type, work_item_id
| result | work_item | stage | author_agent | status | created_at | model_used | type | work_item_id |
|---|---|---|---|---|---|---|---|---|
| PASS | ORCH-094 | testing | tester | pass | 2026-06-09 | claude-opus-4-8 | test-report | ORCH-094 |
Test Report — ORCH-094 — terminal-window-aware гард deploy-статусов
Окружение
- Python: 3.12.13
- pytest: 8.3.3
- Дата: 2026-06-09
- Worktree (база прогона):
/repos/_wt/orchestrator/feature_ORCH-094-bug-done-deploy-plane-awaiting - Ветка:
feature/ORCH-094-bug-done-deploy-plane-awaiting - HEAD:
11de318(поверх3738888 fix(deploy): terminal-window-aware guard … (ORCH-094)) - Review:
12-review.md→verdict: APPROVED(P0/P1 — нет).
Прогон выполнен из worktree ветки задачи (не из общего
/repos/orchestrator) — анти-гонка checkout.
Smoke API (read-only)
| Проверка | Результат |
|---|---|
GET /health |
PASS — {"status":"ok","service":"orchestrator"} |
GET /status |
PASS — отвечает, отдаёт active_tasks |
GET /queue |
PASS — блок serial_gate присутствует (ORCH-088), auto_labels присутствует (ORCH-089) |
Деструктивные операции не выполнялись (read-only smoke).
Результаты (покрытие тест-плана 04-test-plan.yaml ↔ 03-acceptance-criteria.md)
| TC ID | Тип | Описание | AC | Тест | Результат |
|---|---|---|---|---|---|
| TC-01 | unit | done-задача сходится к Done (monitoring/awaiting/deploying при terminal → Done/no-op) | AC-2 | test_deploy_status_terminal_guard::test_tc01_* |
PASS |
| TC-02 | unit | Идемпотентность: повтор на уже-Done → no-op, нет маятника | AC-2 | test_deploy_status_terminal_guard::test_tc02_idempotent_no_pendulum |
PASS |
| TC-03 | unit | Нетерминальная (stage=deploy) не подавляется (регресс) | AC-4 | test_deploy_status_terminal_guard::test_tc03_non_terminal_not_suppressed |
PASS |
| TC-04 | unit | Kill-switch: off → 1:1 прежнее; on → done сходится к Done | AC-5 | test_deploy_status_terminal_guard::test_tc04_kill_switch |
PASS |
| TC-05 | unit | never-raise: неизвестная стадия / ошибка БД → безопасная деградация | AC-5 | test_deploy_status_terminal_guard::test_tc05_* |
PASS |
| TC-06 | unit | После завершения окна монитора (HEALTHY, ticks==budget) → 0 последующих PATCH | AC-3 | test_post_deploy_monitor_termination::test_tc06_clean_finish_then_no_more_patches |
PASS |
| TC-07 | unit | Тик при БД=done/cancelled / нет основания → no-op без PATCH и без перепостановки | AC-3 | test_post_deploy_monitor_termination::test_tc07_* |
PASS |
| TC-08 | unit | arm_monitor не пере-арминг для done; re-drive не выставляет Monitoring заново |
AC-3 | test_post_deploy_monitor_termination::test_tc08_* |
PASS |
| TC-09 | unit | Наблюдаемость: лог work_item/caller/target/reason/db_stage; подавление логируется | AC-5 | test_deploy_status_observability::test_tc09_* |
PASS |
| TC-10 | integration | Реконсилятор/sync для done+Plane=Monitoring → Done идемпотентно, без маятника | AC-2 | test_reconciler_done_deploy_convergence::test_tc10_repeated_sync_converges_no_pendulum |
PASS |
| TC-11 | integration | Регресс рабочего цикла: нетерминальная задача Awaiting→Deploying→Monitoring→Done не подавлена | AC-4 | test_self_deploy_cycle_regression::test_tc11_* |
PASS |
| TC-12 | integration | Не-self репо (enduro-подобный): гард инертен (условность self-hosting) | AC-4/AC-5 | test_deploy_status_terminal_guard::test_tc12_* |
PASS |
Все 12 TC выполнены и сопоставлены с критериями приёмки. Непокрытых TC нет.
Покрытие AC:
- AC-1 (done держит Done; нет авто-перехода в Awaiting/Monitoring) — TC-01/02/10 ✅
- AC-2 (идемпотентное схождение к Done) — TC-01/02/10/12 ✅
- AC-3 (детерминированный конец монитора, нет зомби-тиков) — TC-06/07/08 ✅
- AC-4 (регресс рабочего deploy-цикла нетерминальной задачи) — TC-03/11/12 ✅
- AC-5 (наблюдаемость, kill-switch, never-raise, зелёный pytest) — TC-04/05/09 + полный регресс ✅
Вывод pytest
Целевые модули ORCH-094:
tests/test_deploy_status_terminal_guard.py ........... (11)
tests/test_post_deploy_monitor_termination.py ..... (5)
tests/test_deploy_status_observability.py ... (3)
tests/test_reconciler_done_deploy_convergence.py . (1)
tests/test_self_deploy_cycle_regression.py .. (2)
======================== 22 passed, 1 warning in 1.43s =========================
Полный регресс (pytest tests/ -v --tb=short):
======================= 1413 passed, 1 warning in 44.34s =======================
Единственное предупреждение — PydanticDeprecatedSince20 (class-based config в
src/config.py), не связано с ORCH-094, не является ошибкой.
Итог
PASS — полный регресс зелёный (1413 passed), все 12 TC из 04-test-plan.yaml выполнены,
сопоставлены с AC и зелёные; smoke API (/health, /status, /queue c блоком serial_gate) OK.
Задача переходит на стадию deploy-staging.