Files
orchestrator/docs/work-items/ORCH-044/13-test-report.md
claude-bot 08ace892bb
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 12s
tester(ET): auto-commit from tester run_id=161
2026-06-06 08:40:20 +00:00

5.5 KiB
Raw Blame History

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

Test Report — ORCH-044

Надёжность запуска агента: preflight auth (P1) + пустой лог = провал (P3). P2 (--effort) исключён из scope владельцем (06.06) — вынесен в ORCH-50; AC-7/AC-8/AC-9 и TC-09/TC-11 (effort) в этой задаче не применяются (N/A).

Окружение

  • Python: 3.12.13
  • pytest: 8.3.3
  • Branch: feature/ORCH-044-preflight-auth-effort
  • Дата: 2026-06-06T08:39Z
  • Прод-инстанс (8500): не трогался; smoke — read-only GET.

Результаты — Quality Gate тесты (04-test-plan.yaml)

TC ID Описание Тест(ы) Результат
TC-01 Нет .credentials.json ⇒ FAIL про auth test_missing_credentials_fails PASS
TC-02 Протухший OAuth expiresAt ⇒ FAIL test_expired_token_fails PASS
TC-03 Валидный логин ⇒ OK без регрессии test_valid_login_ok PASS
TC-04 Битый JSON ⇒ FAIL без исключения test_broken_json_fails_without_raising PASS
TC-05 Token-free: нет сетевого вызова test_auth_check_makes_no_network_call PASS
TC-06 Кеширование auth в пределах TTL test_auth_result_cached_within_ttl PASS
TC-07 Путь credentials от HOME агента (/home/slin) test_credentials_path_follows_agent_home PASS
TC-08 Worker не клеймит job при auth-fail test_worker_does_not_claim_when_auth_fails PASS
TC-09 (effort) cmd без --effort test_effort_flag.py N/A — scope исключён владельцем (ORCH-50)
TC-10 resolve_agent_effort согласован test_resolve_agent_effort.py (11 тестов) PASS — effort не тронут, тесты зелёные
TC-11 (effort) дефолтный путь даёт непустой JSON test_effort_flag.py N/A — scope исключён владельцем (ORCH-50)
TC-12 Пустой лог + exit0 ⇒ failed + алерт test_empty_log_exit0_terminal_failed_alerts PASS
TC-13 Лог без result-JSON ⇒ провал test_garbage_log_exit0_not_done PASS
TC-14 Провал ⇒ нет advance/успешного коммента test_empty_result_suppresses_advance_and_comment PASS
TC-15 Валидный JSON ⇒ done без регрессии test_valid_result_done, test_success_advances_and_comments PASS
TC-16 Никогда не вечный running test_never_running_after_empty_result PASS
TC-17 Классификация permanent/transient test_empty_result_defaults_permanent, ..._with_transient_marker_goes_transient PASS
TC-18 Регресс preflight (bin/version) test_resilience.py::TestPreflight PASS
TC-19 Полный pytest tests/ зелёный вся сюита PASS (504 passed)

Дополнительно покрыто (вне нумерации плана): постфактум auth-маркер (test_is_auth_failure_text_*, TestAuthMarkerHandling), тумблер ORCH_PREFLIGHT_CHECK_AUTH (test_auth_toggle_off_skips_check), явный путь credentials (test_explicit_credentials_path_wins).

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

  • AC-1…AC-6 (preflight auth): PASS — TC-01…TC-08.
  • AC-7/AC-8/AC-9 (effort): N/A — исключены владельцем (см. 02-trz.md, 03-acceptance-criteria.md).
  • AC-10…AC-14 (пустой результат ⇒ провал): PASS — TC-12…TC-16.
  • AC-15 (документация в том же PR): PASS — подтверждено review (APPROVED): README/internals/INFRA/CHANGELOG/ADR обновлены.
  • AC-16 (тесты зелёные): PASS — 504 passed.
  • AC-17 (self-hosting): PASS — изменения в слое preflight/launch; прод-контейнер не рестартовался; smoke 8500 read-only.

Smoke test API (8500, read-only GET)

Endpoint Код Замечание
GET /health 200 {"status":"ok","service":"orchestrator"}
GET /status 200 активна задача ORCH-044 (stage=testing)
GET /queue 200 counts ok (failed=0), preflight_ok=true, breaker=closed

curl в окружении отсутствует — smoke выполнен через urllib (эквивалентные GET).

Вывод pytest

======================= 504 passed, 1 warning in 10.82s ========================

Модули плана (детально):

tests/test_preflight_auth.py ......... 18 passed
tests/test_resolve_agent_effort.py ... 11 passed
tests/test_empty_log_failure.py ...... 18 passed
tests/test_resilience.py ............. 31 passed
(итого по модулям плана: 78 passed)

Warning: PydanticDeprecatedSince20 в src/config.py:4 — предсуществующий, вне scope ORCH-044 (зафиксировано в review как P2/опционально).

Итог

PASS — все применимые тесты плана зелёные, существующая сюита не сломана, smoke API исправен. TC-09/TC-11 (effort) корректно N/A: P2 исключён владельцем и вынесен в ORCH-50. Задача готова к стадии deploy-staging.