Files
orchestrator/docs/work-items/ORCH-060/13-test-report.md
claude-bot 829b914ff7
All checks were successful
CI / test (push) Successful in 17s
CI / test (pull_request) Successful in 16s
tester(ET): auto-commit from tester run_id=292
2026-06-07 11:54:59 +00:00

4.0 KiB
Raw Blame History

type, work_item_id, result
type work_item_id result
test-report ORCH-060 PASS

Test Report — ORCH-060

Reconciler F-1 пропускает escalated (retry ≥ MAX_DEVELOPER_RETRIES) и явно Blocked / Needs-Input задачи; happy-path и no-spam сохранены.

Окружение

  • Python: 3.12.13
  • pytest: 8.3.3 (plugins: anyio-4.13.0, asyncio-0.23.8)
  • Ветка: feature/ORCH-060-reconciler-escalated-max-retri @ 55e5e96 (фикс: 4db8276 fix(reconciler): skip escalated / Blocked / Needs-Input tasks in F-1)
  • Дата: 2026-06-07
  • Review verdict: APPROVED (12-review.md)

Smoke test API (прод 8500, read-only)

curl отсутствует в окружении тестера — проверка выполнена через python urllib. Прод-контейнер НЕ перезапускался / не ронялся (self-hosting, CLAUDE.md §⚠️).

Endpoint HTTP Ответ
GET /health 200 {"status":"ok","service":"orchestrator"}
GET /status 200 активные задачи отданы (в т.ч. ORCH-060 stage=testing)
GET /queue 200 counts/resilience/reconcile-блок отданы

Результаты (test-plan 04-test-plan.yaml → AC)

TC ID AC Описание Тест Результат
TC-01 AC-1 escalated == MAX_DEVELOPER_RETRIES при зелёном CI → skip test_tc060_01_escalated_at_limit_skipped PASS
TC-02 AC-2 dev-ранов > MAX → skip test_tc060_02_over_limit_skipped PASS
TC-03 AC-3 регресс happy-path: retry < MAX → advance dev→review test_tc060_03_under_limit_still_advances PASS
TC-04 AC-4 граница: ровно MAX skip, MAX1 advance (ровно одна) test_tc060_04_boundary_exactly_one_advances PASS
TC-05 AC-5 Plane-статус Blocked → skip test_tc060_05_blocked_skipped PASS
TC-06 AC-6 Plane-статус Needs Input → skip test_tc060_06_needs_input_skipped PASS
TC-07 AC-7 no spam на escalated (нет _note_unblock/telegram/qg-fail) test_tc060_07_escalated_no_spam PASS
TC-08 AC-8 escalated → мок check_ci_green НЕ вызван (skip раньше гейта) test_tc060_08_no_gate_call_on_escalated PASS
TC-09 AC-9 регресс F-2: Blocked/Needs Input не доигрывается test_tc060_09_f2_does_not_replay_blocked PASS
TC-10 AC-10 never-raise: ошибка guard2 изолирована, сосед обработан test_tc060_10_guard2_never_raise PASS
TC-11 AC-11 граница из stage_engine.MAX_DEVELOPER_RETRIES (нет хардкода 3) test_tc060_11_limit_from_constant PASS
под-флаг reconcile_skip_blocked_enabled гасит только guard2 test_tc060_subflag_disables_only_guard2 PASS
TC-12 AC-13 регресс: полный прогон test_reconciler.py (ORCH-053 кейсы) tests/test_reconciler.py (27 passed) PASS
AC-12 документация (README/ADR/CHANGELOG) — проверено reviewer'ом PASS

Вывод pytest

Полный регресс:

$ python -m pytest tests/ -q
........................................................................ [ 11%]
... (644 dots) ...
....................................................................     [100%]
644 passed, 1 warning in 15.65s

Целевой модуль:

$ python -m pytest tests/test_reconciler.py -v
...
27 passed, 1 warning in 1.23s

(1 warning — PydanticDeprecatedSince20 в src/config.py:4, не связано с ORCH-060, существующий технический долг.)

Итог

PASS — все 13 критериев приёмки покрыты и зелёные, полный регресс 644/644, целевой модуль 27/27, smoke API 3/3. Регрессий нет. Задача готова к стадии deploy-staging.