Files
orchestrator/docs/work-items/ORCH-068/13-test-report.md
claude-bot 6bbd530caa
All checks were successful
CI / test (push) Successful in 19s
CI / test (pull_request) Successful in 21s
tester(ET): auto-commit from tester run_id=351
2026-06-08 05:18:46 +00:00

3.6 KiB
Raw Permalink Blame History

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

Test Report — ORCH-068

Фикс livelock reconciler F-2 (спам _note_unblock по синхронизированной done-задаче) + связанный баг устаревшего _STATES_CACHE.

Окружение

  • Python: 3.12.13
  • pytest: 8.3.3 (plugins: anyio-4.13.0, asyncio-0.23.8)
  • Среда исполнения: worktree feature/ORCH-068-bug-reconciler-livelock-unbloc
  • Prod health (8500): {"status":"ok","service":"orchestrator"} — OK (read-only smoke)
  • Дата: 2026-06-08T05:13:59Z

Smoke test API (read-only, прод 8500 не трогался деструктивно)

Endpoint Результат
GET /health {"status":"ok",...} — OK
GET /status 200, активные задачи отданы — OK
GET /queue 200, counts + блок reconcile (enabled/plane_enabled/unblocked_total) — OK

Результаты

TC ID Описание Тест Результат
TC-01 Синхронизированная done → тишина (AC-1, AC-7) test_tc01_synced_done_is_silent PASS
TC-02 Терминал «схлопнут» с approved по UUID исключён (AC-2) test_tc02_terminal_aliased_to_approved_excluded PASS
TC-03 Cancelled терминал исключён (AC-2) test_tc03_cancelled_excluded PASS
TC-04 _note_unblock не вызван после no-op dispatch (AC-3) test_tc04_noop_dispatch_no_unblock PASS
TC-05 Дедуп: 0 повторных уведомлений (AC-4) test_tc05_dedup_no_repeat_notification PASS
TC-06 Легитимный approved → unblock ровно один раз (AC-5) test_tc06_legit_approved_unblock_once PASS
TC-07 in_progress-старт и rejected-откат, каждый 1 unblock (AC-6) test_tc07_in_progress_start_and_rejected_each_one_unblock PASS
TC-08 never-raise: изоляция ошибок (AC-8) test_tc08_never_raise_isolation PASS
TC-09 Kill-switch'и F-2 (AC-9) test_tc09_kill_switches PASS
TC-10 done→silence на enduro И orchestrator (headline-регресс, AC-1/AC-2) test_tc10_done_silent_on_all_projects PASS
TC-11 Устаревший _STATES_CACHE self-heal по TTL (AC-12) test_tc11_stale_cache_refreshes_after_ttl + accessor/zero-ttl тесты PASS
TC-12 Совместимость кэша по умолчанию + fallback (AC-13) test_tc12_enduro_uuids_unchanged, test_tc12_api_error_falls_back_to_defaults, test_tc12_stale_served_when_refresh_fails PASS
TC-13 Полный прогон pytest tests/ зелёный (AC-15) весь набор PASS

Соответствие критериям приёмки

AC-1…AC-15 — все PASS. Целевые регресс-тесты (TC-01..TC-12) проходят; полный набор без регрессий в reconciler / plane / qg / stage_engine / webhooks.

Вывод pytest

Целевые файлы (tests/test_reconciler_plane.py + tests/test_plane_states_cache.py)

collected 26 items
... (все 26 PASSED, включая tc01..tc17 reconciler + tc11/tc12 cache)
======================== 26 passed, 1 warning in 0.82s =========================

Полный набор

======================= 764 passed, 1 warning in 13.66s ========================

(1 warning — PydanticDeprecatedSince20 в src/config.py, не относится к ORCH-068, предсуществующий.)

Итог

PASS