diff --git a/docs/work-items/ORCH-011/13-test-report.md b/docs/work-items/ORCH-011/13-test-report.md new file mode 100644 index 0000000..e9d1361 --- /dev/null +++ b/docs/work-items/ORCH-011/13-test-report.md @@ -0,0 +1,79 @@ +--- +result: PASS +work_item: ORCH-011 +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-011 +--- + +# Test Report — ORCH-011 + +Полная документация системы мультиагентов: витрина `docs/overview/` + структурный анти-дрейф. + +## Окружение +- Worktree (код ветки): `/repos/_wt/orchestrator/feature_ORCH-011-` (ветка `feature/ORCH-011-`) +- Python: 3.12.13 +- pytest: 8.3.3 +- Дата: 2026-06-11 +- Предусловие: `12-review.md` → `verdict: APPROVED` ✅ + +## Smoke API (read-only) +| Эндпоинт | Результат | +|----------|-----------| +| `GET /health` | PASS — `{"status":"ok","service":"orchestrator"}` | +| `GET /status` | PASS — задача ORCH-011 активна на стадии `testing` | +| `GET /queue` | PASS — payload несёт блоки `serial_gate` (ORCH-088) **и** `auto_labels` (наряду с `coverage`/`stop`/`bug_fast_track`/`lessons`) — регресса смока нет | + +## Результаты (покрытие test-plan ↔ acceptance-criteria) + +Изменение — docs+tests+dev-скрипт; анти-дрейф витрины реализован в `tests/test_system_docs.py` +(28 содержательных тест-функций), полностью зелёном. Каждый TC из `04-test-plan.yaml` выполнен и +сопоставлен с критериями `03-acceptance-criteria.md`. + +| TC ID | Описание | AC | Тест-функция(и) `test_system_docs.py` | Результат | +|-------|----------|----|----------------------------------------|-----------| +| TC-01 | Каталог витрины + индекс с обязательными разделами | AC-1 | `test_all_showcase_files_exist_and_nonempty`, `test_index_carries_maintenance_normative` | PASS | +| TC-02 | Из индекса достижимы все части витрины | AC-1/AC-3 | `test_index_links_reach_every_showcase_part` | PASS | +| TC-03 | Бизнес-часть: 5 разделов + ≥5 сценариев | AC-2 | `test_business_part_has_five_mandatory_sections`, `test_business_part_has_at_least_five_scenarios` | PASS | +| TC-04 | Тех-часть: 7 блоков + схема потока | AC-3 | `test_architecture_block_carries_flow_diagram` (+ link-reach) | PASS | +| TC-05 | Стадии сверены импортом `STAGE_TRANSITIONS` (derive) | AC-4 | `test_every_stage_from_code_is_mentioned_in_pipeline_doc`, `test_main_chain_order_in_pipeline_doc_matches_code` | PASS | +| TC-06 | Имена exit-гейтов существуют в `QG_CHECKS` | AC-4 | `test_every_exit_gate_from_code_is_named_in_pipeline_doc`, `test_no_invented_gate_names_anywhere_in_showcase`, `test_subgates_in_normative_order_and_marked_as_insets` | PASS | +| TC-07 | 6 ролей + артефакты + таблица модель/эффорт = config | AC-5 | `test_every_agent_prompt_stem_is_covered`, `test_effort_table_matches_config_class_defaults` | PASS | +| TC-08 | Все ссылки резолвятся + обязательные golden sources | AC-6 | `test_all_relative_links_resolve_to_existing_files`, `test_mandatory_golden_source_links_present` | PASS | +| TC-09 | Нет вне-репозиторных путей (`tasks/`/`memory/`/абс. хоста) | AC-12 | `test_no_out_of_repo_references` | PASS | +| TC-10 | Презентация: ≥12 нумерованных слайдов + нарратив | AC-7 | `test_presentation_source_parses_with_canonical_parser`, `test_presentation_covers_mandatory_narrative_bits`, `test_presentation_carries_reproducible_build_procedure` | PASS | +| TC-11 | Зависимости генерации (`python-pptx`) вне прод-образа | AC-7/NFR-2 | `test_no_pptx_dependency_in_prod_image`, `test_build_script_toplevel_imports_are_stdlib_only` | PASS | +| TC-12 | Норматив «в том же PR» + ссылки README/CLAUDE.md | AC-9/AC-11 | `test_index_carries_maintenance_normative`, `test_repo_readme_links_overview`, `test_claude_md_carries_overview_pointer_and_normative`, `test_changelog_has_orch_011_entry` | PASS | +| TC-13 | FORBIDDEN-скан хост-литералов + секрет-эвристика | AC-10/AC-11 | `test_showcase_carries_no_forbidden_host_literals`, `test_showcase_carries_no_secret_like_values`, `test_secret_heuristic_is_not_evergreen` | PASS | +| TC-14 | Полный регресс `pytest tests/` зелёный; существующие док-тесты не сломаны | AC-10/AC-11 | весь прогон `tests/` (вкл. `test_lite_setup_doc`/`test_bundled_setup_doc`/`test_orch_52b_docs_standard`/`test_agent_prompts_canon`) | PASS | + +Также покрыты `test_index_carries_three_audience_routes` (AC-8 — 3 маршрута аудиторий). + +## Вывод pytest + +Модуль витрины: +``` +$ python3 -m pytest tests/test_system_docs.py -v +... +======================== 28 passed, 1 warning in 0.43s ========================= +``` + +Полный регресс: +``` +$ cd /repos/_wt/orchestrator/feature_ORCH-011- && pytest tests/ -v --tb=short +... +================== 1873 passed, 1 warning in 71.36s (0:01:11) ================== +``` + +(Единственный warning — преэкзистентный `PydanticDeprecatedSince20` в `src/config.py:8`, +не связан с ORCH-011, к коду ветки не относится.) + +## Итог + +PASS — все 14 TC выполнены и сопоставлены с критериями приёмки (AC-1…AC-12), smoke read-only +зелёный (`serial_gate` + `auto_labels` присутствуют в `/queue`), полный регресс `tests/` — +**1873 passed, 0 failed**. Стадия переходит на `deploy-staging`.