3.6 KiB
3.6 KiB
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