Files
orchestrator/docs/work-items/ORCH-103/13-test-report.md
claude-bot 6e17f33be4
All checks were successful
CI / test (push) Successful in 57s
CI / test (pull_request) Successful in 1m1s
tester(ET): auto-commit from tester run_id=630
2026-06-11 02:16:32 +03:00

5.7 KiB
Raw 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-103 testing tester pass 2026-06-11 claude-opus-4-8 test-report ORCH-103

Test Report — ORCH-103 — ORCH-10b Bundled-тираж: весь стек одним комплектом + bootstrap-скрипт

Машинный вердикт читается ТОЛЬКО из result: во frontmatter (check_tests_passed).

Окружение

  • Python: 3.12.13
  • pytest: 8.3.3
  • Worktree: /repos/_wt/orchestrator/feature_ORCH-103-orch-10b-bundled-bootstrap/ (ветка задачи, не общий чекаут)
  • Дата: 2026-06-11

Smoke API (read-only)

Endpoint Результат
GET /health PASS — {"status":"ok","service":"orchestrator"}
GET /status PASS — активная задача ORCH-103 (stage: testing) видна
GET /queue PASS — валидный JSON; блок serial_gate присутствует (ORCH-088, orchestrator.active_task = ORCH-103), блок auto_labels присутствует

Смок-регресс ORCH-088: блок serial_gate присутствует в полезной нагрузке /queue наряду с auto_labelsрегресса нет.

Результаты (покрытие каждого TC из 04-test-plan.yaml)

TC ID Тип Описание (кратко) AC Модуль Результат
TC-01 unit Bundle-compose существует/парсится; обязательные сервисы (орк/watchdog/Gitea/Plane-стек); staging не в дефолтном up AC-1 test_bundle_compose.py PASS
TC-02 unit Корневой docker-compose.yml не изменён; нет подстрок plane/gitea (зеркало TC-04 lite) AC-6 test_bundle_compose.py PASS
TC-03 unit Все сторонние образы пиннованы (нет latest/безтегового) AC-9 test_bundle_compose.py PASS
TC-04 unit Тома именованные с bundle-префиксом, без bind прод-контура; key-set-sync ${VAR} ⊆ bundle-канон AC-9 test_bundle_compose.py PASS
TC-05 unit BUNDLED_SETUP.md: обязательные разделы FR-4 (требования к хосту с цифрами/портами/~14 контейнеров, bootstrap, smoke, stateless, сброс, траблшутинг); fenced + «Проверка:» AC-4 test_bundled_setup_doc.py PASS
TC-06 unit Гигиена (док+compose+bootstrap): нет FORBIDDEN-литералов (импорт из test_no_host_hardcodes); нет секрет-литералов (hex≥32/alnum≥40) AC-9 test_bundled_setup_doc.py PASS
TC-07 unit Bootstrap ссылается на gen_secrets.py/onboard_project.py; нет своего списка статусов/лейблов; нет delete-операций в обычном прогоне AC-7 test_bootstrap_script.py PASS
TC-08 unit Чистые функции bootstrap: грязный хост → отказ ДО мутаций; чистый → план; контракт exit 0/2/1 AC-8 test_bootstrap_script.py PASS
TC-09 unit Каждый env-ключ из дока есть в .env.example bundle-канон; число статусов сверяется импортом plane_sync._PLANE_NAME_TO_KEY AC-9 test_bundled_setup_doc.py PASS
TC-10 unit Кросс-ссылки: BUNDLED_SETUP → LITE_SETUP/ONBOARDING/REPLICATION; REPLICATION §1 отметка Type B → ORCH-103 AC-7 test_bundled_setup_doc.py PASS
TC-11 unit CHANGELOG.md содержит запись ORCH-103 AC-5 test_bundled_setup_doc.py PASS
TC-12 integration Полный регресс pytest tests/ -q зелёный; существующие анти-дрейф (test_lite_setup_doc.py, test_no_host_hardcodes.py, канон ORCH-009) без правки ассертов AC-5 tests/ PASS

Все 12 TC выполнены и сопоставлены с критериями приёмки 03-acceptance-criteria.md. Структурная/файловая часть AC-4…AC-9 покрыта зелёными TC-01…TC-12. e2e-часть AC-1/AC-2/AC-3/AC-8 (фактический подъём bundle на чистом хосте/VM) — ручная приёмка вне CI по рамке самих AC (docker/LLM в CI не гоняются), как зафиксировано в test-plan scope/notes и ревью P2-2.

Целевые модули ORCH-103 (детально)

  • tests/test_bundle_compose.py — 14 passed (TC-01..04)
  • tests/test_bundled_setup_doc.py — 16 passed (TC-05/06/09/10/11)
  • tests/test_bootstrap_script.py — 19 passed (TC-07/08)
  • Анти-дрейф (без правки ассертов): tests/test_lite_setup_doc.py — 26 passed; tests/test_no_host_hardcodes.py — 8 passed
  • Итого по целевому срезу: 88 passed, 0 failed (0.91s)

Вывод pytest (полный регресс)

$ python -m pytest tests/ -v --tb=short
...
================== 1844 passed, 1 warning in 70.33s (0:01:10) ==================
  • 1844 passed, 0 failed, 1 warning (Pydantic V2 deprecation, не относится к задаче).

Итог

PASS — полный регресс зелёный (1844 passed / 0 failed), smoke read-only (/health, /status, /queue с блоками serial_gate и auto_labels) в норме, все 12 TC из 04-test-plan.yaml выполнены и сопоставлены с критериями приёмки. Задача переходит на deploy-staging.