5.3 KiB
5.3 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-105 | testing | tester | pass | 2026-06-12 | claude-opus-4-8 | test-report | ORCH-105 |
Test Report — ORCH-105 — Подготовка презентации по орку
Машинный вердикт читается ТОЛЬКО из
result:во frontmatter.PASS→ задача переходит наdeploy-staging.
Окружение
- Python: 3.12.13
- pytest: 8.3.3 (plugins: cov-5.0.0, anyio-4.13.0, asyncio-0.23.8)
- Worktree (код ветки):
/repos/_wt/orchestrator/feature_ORCH-105-/(веткаfeature/ORCH-105-) - Дата: 2026-06-12
Smoke API (read-only)
GET /health→{"status":"ok","service":"orchestrator"}— OKGET /status→ активные задачи перечислены, задача ORCH-105 (id 93) в стадииtesting— OKGET /queue→ блокserial_gateприсутствует (True), блокauto_labelsприсутствует (True) — регресса смока нет — OK
Покрытие ТЗ (каждый TC из 04-test-plan.yaml ↔ 03-acceptance-criteria.md)
| TC ID | Тип | Описание | AC | Результат |
|---|---|---|---|---|
| TC-01 | unit | parse_slides разбирает presentation.md: слайдов 19 (≥12), номера сквозные [1..19], у каждого непустой заголовок + ≥1 тезис (test_presentation_source_parses_with_canonical_parser) |
AC-3 | PASS |
| TC-02 | unit | Обязательные биты нарратива (проблем/решени/конвейер/сценари/тираж/статус) — test_presentation_covers_mandatory_narrative_bits |
AC-4 | PASS |
| TC-03 | unit | Новый контент зафиксирован анти-дрейфом: Lite-установка + использование через Plane — test_presentation_covers_lite_and_plane_usage_bits |
AC-4 | PASS |
| TC-04 | unit | Процедура сборки .pptx цела (build_presentation.py + «Проверка:») — test_presentation_carries_reproducible_build_procedure |
AC-4 | PASS |
| TC-05 | unit | Гигиена витрины: нет хост-литералов (test_showcase_carries_no_forbidden_host_literals) и секретоподобных значений (test_showcase_carries_no_secret_like_values) |
AC-6 | PASS |
| TC-06 | unit | Все относительные ссылки витрины резолвятся — test_all_relative_links_resolve_to_existing_files |
AC-6 | PASS |
| TC-07 | integration | Ручной dev-venv build: build_presentation.py → Собрано слайдов: 19 → build/orchestrator-overview.pptx, exit 0, валидный 56 КБ .pptx (N=19 = числу слайдов). Визуальная проверка темы/кириллицы — human-only, скрипт отработал чисто |
AC-5 | PASS |
| TC-08 | unit | Self-hosting инвариант: python-pptx отсутствует в requirements*/Dockerfile (test_no_pptx_dependency_in_prod_image); top-level build_presentation.py stdlib-only (test_build_script_toplevel_imports_are_stdlib_only) |
AC-7 | PASS |
| TC-09 | unit | CHANGELOG.md несёт запись docs: по ORCH-105; витрина docs/overview/ достижима из README/CLAUDE (test_changelog_has_orch_011_entry, test_repo_readme_links_overview, test_claude_md_carries_overview_pointer_and_normative) |
AC-8 | PASS |
| TC-10 | integration | Полный регресс pytest tests/ зелёный — 1874 passed |
AC-8 | PASS |
Итог покрытия: все 10 TC выполнены и сопоставлены с AC-1…AC-8. Дополнительно подтверждено:
- AC-1/AC-2 (контент Lite-слайда и Plane-usage слайдов) — структурно зафиксированы TC-03
(
test_presentation_covers_lite_and_plane_usage_bits), фактологическая сверка — в12-review.md(вердиктAPPROVED). - AC-7 (docs-only):
git diff origin/main...HEADне содержит измененийsrc/**— затронуты толькоdocs/**,CHANGELOG.md,tests/test_system_docs.py;build/-артефакт.pptxне закоммичен (gitignored),python-pptxне добавлен в прод-образ.
Вывод pytest
tests/test_system_docs.py ... 29 passed (включая test_presentation_covers_lite_and_plane_usage_bits)
...
================== 1874 passed, 1 warning in 74.80s (0:01:14) ==================
(Единственный warning — преэкзистентный PydanticDeprecatedSince20 в src/config.py:8, не
связан с ORCH-105.)
Итог
PASS — полный регресс pytest tests/ зелёный (1874 passed), smoke read-only OK
(serial_gate + auto_labels в /queue присутствуют), каждый TC 04-test-plan.yaml выполнен и
сопоставлен с критериями 03-acceptance-criteria.md, изменение остаётся docs-only (рантайм/образ
нетронуты). Задача готова к переходу на deploy-staging.