tester(ET): auto-commit from tester run_id=630
This commit is contained in:
67
docs/work-items/ORCH-103/13-test-report.md
Normal file
67
docs/work-items/ORCH-103/13-test-report.md
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
result: PASS
|
||||
work_item: ORCH-103
|
||||
stage: testing
|
||||
author_agent: tester
|
||||
status: pass
|
||||
created_at: 2026-06-11
|
||||
model_used: claude-opus-4-8
|
||||
type: test-report
|
||||
work_item_id: 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`.
|
||||
Reference in New Issue
Block a user