5.7 KiB
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.