Files
orchestrator/docs/work-items/ORCH-091/13-test-report.md
claude-bot 86b013c872
All checks were successful
CI / test (push) Successful in 36s
CI / test (pull_request) Successful in 33s
tester(ET): auto-commit from tester run_id=509
2026-06-09 22:08:52 +03:00

7.9 KiB
Raw Permalink Blame History

result, work_item, stage, author_agent, status, created_at, model_used, type, work_item_id
result work_item stage author_agent status created_at model_used type work_item_id
PASS ORCH-091 testing tester pass 2026-06-09 claude-opus-4-8 test-report ORCH-091

Test Report — ORCH-091

BUG: заголовок-строка live-карточки трекера застревает на «To Analyse» на stage=deploy-staging (нет ключа в _STAGE_STATUS_LABEL) + ложные -строки после отката + занижение метрик строки стадии (последний прогон вместо суммы попыток).

Окружение

  • Python: 3.12.13
  • pytest: 8.3.3
  • Worktree: /repos/_wt/orchestrator/feature_ORCH-091-bug-to-analyse-stage-deploy-st
  • Ветка: feature/ORCH-091-bug-to-analyse-stage-deploy-st
  • Дата: 2026-06-09

Предусловия

  • Вердикт reviewer (12-review.md): APPROVED (P0=0, P1=0)
  • Тесты прогнаны из worktree ветки задачи (не из общего /repos/orchestrator)

Smoke API (read-only)

Эндпоинт Результат
GET /health {"status":"ok","service":"orchestrator"} — OK
GET /status 200, активные задачи отдаются (ORCH-091 = testing) — OK
GET /queue 200; блок serial_gate присутствует (ORCH-088) ; блок auto_labels присутствует (ORCH-089)

serial_gate.per_repo.orchestrator.active_task = ORCH-091/testing, регресс смока отсутствует.

Покрытие тест-плана (04-test-plan.yaml) ↔ критерии приёмки (03-acceptance-criteria.md)

TC ID Описание AC Тест(ы) Результат
TC-01 Полнота карты: каждый ключ STAGE_TRANSITIONS (программная итерация) → непустой лейбл ≠ «To Analyse» (кроме created) AC-1 test_tracker_status_line::test_orch091_tc01_every_stage_has_meaningful_label[*] (9 параметров) + test_orch091_tc01_created_stays_to_analyse PASS
TC-02 stage='deploy-staging' → осмысленный staging-лейбл ≠ «To Analyse» и ≠ лейбла deploy AC-2 test_tracker_status_line::test_orch091_tc02_deploy_staging_label PASS
TC-03 Неизвестная стадия (__bogus__) → нейтральный фолбэк (не «To Analyse»); never-raise на битом/None входе AC-3 test_orch091_tc03_unknown_stage_neutral_not_to_analyse + test_orch091_tc03_cancelled_offline_label + test_tc09c_plane_status_label_never_raises PASS
TC-04 Регресс ветвей plane_status_label: analysis+brd-clock→In Review; deploy→Awaiting Deploy; done→Done; created→To Analyse AC-6 test_tracker_status_line::test_tc06_stage_to_plane_status[*] (8) + test_tc07_in_review_from_brd_clock + test_tc08_awaiting_deploy_offline PASS
TC-05 Откат deploy-staging→development: Разработка активна (🔄), Тестирование/Внедрение НЕ ; Анализ/Архитектура остаются AC-4 test_tracker_rollback_metrics::test_tc05_rollback_suppresses_later_stage_checkmarks + test_tc05_forward_progress_keeps_earlier_checkmarks + test_tc05_deploy_staging_keeps_deployer_row PASS
TC-06 Суммирование метрик: developer с 3 agent_runs (фикстура ORCH-069) → строка «Разработка» = Σ стоимости ≈ $3.98, Σ токенов, Σ времени AC-5 test_tracker_rollback_metrics::test_tc06_stage_line_sums_all_developer_runs PASS
TC-07 Сходимость тоталов карточки (💰/🔢/⏱ Агенты) с SUM(agent_runs) по task_id при ретраях AC-5 test_tc07_totals_converge_with_sum_agent_runs + test_tc07_sum_of_stage_lines_equals_totals_on_done PASS
TC-08 render_task_tracker never-raise: NULL timestamps / отсутствующий stage → строка-фолбэк без исключения AC-7 / NFR-1 test_tc08_render_survives_null_timestamps_and_runs + test_tc08_render_survives_bogus_stage PASS
TC-09 Регресс строк карточки: формат строк стадий, эффорт-суффикс (ORCH-087), «Подтверждение BRD», блок тоталов — без изменений AC-6 test_telegram_tracker.py + test_tracker_effort_time.py (эффорт по ролям, capped review-time, done-time labels) — все зелёные PASS

Каждый TC из 04-test-plan.yaml выполнен и сопоставлен с критериями 03-acceptance-criteria.md.

Вывод pytest

$ cd /repos/_wt/orchestrator/feature_ORCH-091-bug-to-analyse-stage-deploy-st
$ pytest tests/ -v --tb=short

tests/test_tracker_rollback_metrics.py::test_tc05_rollback_suppresses_later_stage_checkmarks PASSED
tests/test_tracker_rollback_metrics.py::test_tc05_forward_progress_keeps_earlier_checkmarks PASSED
tests/test_tracker_rollback_metrics.py::test_tc05_deploy_staging_keeps_deployer_row PASSED
tests/test_tracker_rollback_metrics.py::test_tc06_stage_line_sums_all_developer_runs PASSED
tests/test_tracker_rollback_metrics.py::test_tc07_totals_converge_with_sum_agent_runs PASSED
tests/test_tracker_rollback_metrics.py::test_tc07_sum_of_stage_lines_equals_totals_on_done PASSED
tests/test_tracker_rollback_metrics.py::test_tc08_render_survives_null_timestamps_and_runs PASSED
tests/test_tracker_rollback_metrics.py::test_tc08_render_survives_bogus_stage PASSED
tests/test_tracker_status_line.py::test_orch091_tc01_every_stage_has_meaningful_label[analysis] PASSED
tests/test_tracker_status_line.py::test_orch091_tc01_every_stage_has_meaningful_label[architecture] PASSED
tests/test_tracker_status_line.py::test_orch091_tc01_every_stage_has_meaningful_label[development] PASSED
tests/test_tracker_status_line.py::test_orch091_tc01_every_stage_has_meaningful_label[review] PASSED
tests/test_tracker_status_line.py::test_orch091_tc01_every_stage_has_meaningful_label[testing] PASSED
tests/test_tracker_status_line.py::test_orch091_tc01_every_stage_has_meaningful_label[deploy-staging] PASSED
tests/test_tracker_status_line.py::test_orch091_tc01_every_stage_has_meaningful_label[deploy] PASSED
tests/test_tracker_status_line.py::test_orch091_tc01_every_stage_has_meaningful_label[done] PASSED
tests/test_tracker_status_line.py::test_orch091_tc01_every_stage_has_meaningful_label[cancelled] PASSED
tests/test_tracker_status_line.py::test_orch091_tc01_created_stays_to_analyse PASSED
tests/test_tracker_status_line.py::test_orch091_tc02_deploy_staging_label PASSED
tests/test_tracker_status_line.py::test_orch091_tc03_unknown_stage_neutral_not_to_analyse PASSED
tests/test_tracker_status_line.py::test_orch091_tc03_cancelled_offline_label PASSED
... (полный набор регресса трекера/usage/webhooks/verdict-status зелёный)

======================= 1370 passed, 1 warning in 39.33s =======================

(1 warning — PydanticDeprecatedSince20 в src/config.py:8, преэкзистный, не связан с ORCH-091.)

Итог

PASS

  • Все 1370 тестов зелёные; новые тесты ORCH-091 (TC-01…TC-08) присутствуют и проходят.
  • Каждый TC из тест-плана выполнен и сопоставлен с AC-1…AC-7.
  • Smoke read-only OK; блоки serial_gate и auto_labels присутствуют в GET /queue (без регресса).
  • Изменение indication-only / never-раise; регресс существующих меток карточки (AC-6) подтверждён.

Вердикт: result: PASS → задача переходит на deploy-staging.