Files
orchestrator/docs/work-items/ORCH-073/13-test-report.md
claude-bot 1f0929838a
All checks were successful
CI / test (push) Successful in 26s
CI / test (pull_request) Successful in 21s
tester(ET): auto-commit from tester run_id=384
2026-06-08 16:30:46 +03:00

5.6 KiB
Raw Permalink Blame History

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

Test Report — ORCH-073

CRIT: системный фикс эрозии main (фантомный merge ORCH-067/069) + восстановление кода.

Окружение

  • Python: 3.12.13
  • pytest: 8.3.3
  • Дата: 2026-06-08
  • Worktree: feature/ORCH-073-crit-main-orch-067-069
  • Prod health (8500): {"status":"ok","service":"orchestrator"} — контейнер не тронут

Smoke-тесты API (prod 8500, read-only)

Endpoint Результат
GET /health {"status":"ok"} — PASS
GET /status active_tasks отдаётся, ORCH-073 на стадии testing — PASS
GET /queue counts/reconcile/reaper/post_deploy снимок отдаётся, breaker closed — PASS

Результаты по тест-плану (04-test-plan.yaml)

TC ID Описание Тест-функция Результат
TC-01 verify_merged_to_main: sha — предок main → True (AC-6) test_tc01_true_when_sha_is_ancestor PASS
TC-02 sha НЕ в main + merged docs-PR → False (баг 067/069, AC-2) test_tc02_false_when_sha_not_in_main_even_with_merged_docs_pr PASS
TC-03 пустой sha → False (fail-closed) test_tc03_empty_sha_is_false PASS
TC-04 git error → False (never-raise, INV-1) test_tc04_never_raises_on_git_error / _worktree_error PASS
TC-05 merged docs-PR не засчитан как code-merge (FR-2) test_tc05_merged_docs_pr_not_counted PASS
TC-06 merged code-PR распознан (base=main, head=branch) test_tc06_merged_code_pr_recognised / _onto_non_main_base_not_counted PASS
TC-07 HTTP-ошибка/не-200 → False (never-raise) test_tc07_non_200_is_false / _http_exception_is_false PASS
TC-08 merge_pr выбирает code-PR, не docs/* (FR-3) test_tc08_merges_code_pr_not_docs_pr / _skips_pr_onto_non_main_base PASS
TC-09 нет open code-PR → (False,...), без push main (INV-2) test_tc09_no_open_pr_no_shell_out PASS
TC-10 merge_pr идемпотентен, без второго POST (AC-7/INV-4) test_tc10_idempotent_already_merged PASS
TC-11 .gitattributes: CHANGELOG.md merge=union (AC-4) test_tc11_gitattributes_declares_union PASS
TC-12 union-merge сохраняет обе записи Unreleased без конфликта test_tc12_union_merge_keeps_both_entries PASS
TC-13 _handle_merge_verify: SHA в main + маркеры → advance (AC-6) test_tc13_confirmed_and_intact_advances PASS
TC-14 docs-only merge → HOLD + alert, НЕ done (AC-3) test_tc14_sha_not_in_main_holds PASS
TC-15 регресс-гард: маркер ранее-merged задачи пропал → HOLD + alert (AC-5) test_tc15_marker_missing_holds PASS
TC-16 внутр. ошибка верификатора → HOLD + alert, never-raise (INV-1) test_tc16_internal_error_holds_never_raises PASS
TC-17 conditionality: non-self/kill-switch → под-гейт no-op (AC-6/INV-5) test_tc17_merge_verify_applies_scope / _under_gate_noop_for_non_self PASS
TC-18 регресс-гард уважает kill-switch / non-self → no-op (INV-5) test_tc18_guard_kill_switch_skips_guard / _guard_noop_for_non_self_repo PASS
TC-19 полный pytest tests/ -q зелёный (AC-8) весь набор tests/ PASS

Все 19 TC из тест-плана покрыты (24 тест-функции в 6 файлах tests/test_orch073_*.py).

Проверка критериев приёмки (03-acceptance-criteria.md)

AC Проверка Результат
AC-1 Маркеры в origin/main: plane_issue_link=8, qg0_title_max=3, verify_merged_to_main=4 (все >0) PASS
AC-2 TC-02: sha не в main + merged docs-PR → False PASS
AC-3 TC-14: docs-only merge → HOLD + alert, НЕ done PASS
AC-4 git check-attr merge CHANGELOG.mdmerge: union; TC-11/12 PASS
AC-5 TC-15: уменьшение набора маркеров → HOLD + alert «main regressed» PASS
AC-6 TC-01/13/17: happy-path done без ложного alert; enduro no-op PASS
AC-7 TC-10: re-drive слитой задачи → no-op, без второго merge PASS
AC-8 941 passed; доки/ADR/CHANGELOG обновлены (см. 12-review) PASS
AC-9 G4-аудит в ADR-001 (root cause docs-only merge) — подтверждён reviewer PASS
AC-10 staging-проверка — стадия deploy-staging (вне scope tester)
AC-11 merge только PR-API; прод-контейнер не падал в рамках тестов PASS

Вывод pytest

tests/ -q --tb=short:
........................................................................ [100%]
941 passed, 1 warning in 25.37s

tests/test_orch073_*.py -v:
24 passed, 1 warning in 0.54s

(1 warning — PydanticDeprecatedSince20 в src/config.py, не относится к ORCH-073, не блокирует.)

Итог

PASS — полный регресс зелёный (941 passed), все 24 теста ORCH-073 PASS, smoke API OK, маркеры AC-1 присутствуют в origin/main, прод-контейнер не затронут. Задача готова к переходу на стадию deploy-staging (где будет проверен AC-10 — воспроизведение «исправлено навсегда» на двух задачах с правкой CHANGELOG).