Files
orchestrator/docs/work-items/ORCH-105/04-test-plan.yaml

85 lines
5.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
work_item: ORCH-105
stage: analysis
author_agent: analyst
status: ready-for-review
created_at: 2026-06-12
model_used: claude-opus-4-8
title: "Презентация: слайды Lite-установки и использования через Plane (анти-дрейф витрины)"
framework: pytest
scope: >
Покрывается: структурная валидность слайдо-источника docs/overview/presentation.md после
добавления слайдов Lite-установки и использования через Plane (парс/нумерация/обязательные
биты/процедура сборки), фиксация нового контента анти-дрейф-тестом, гигиена витрины,
self-hosting-инварианты (python-pptx вне прод-образа, бинарь не в git), сопровождение
(CHANGELOG). Вне автоматического покрытия: фактический рендер .pptx через python-pptx —
выполняется ВНЕ рантайма в dev-venv (ORCH-011 NFR-2), поэтому TC-07 — ручной интеграционный
шаг, а не часть гейта тестов.
notes: >
Изменение docs-only: src/** не трогается, новый QG не вводится. Тесты живут в существующем
модуле tests/test_system_docs.py (ORCH-011) — большинство TC расширяют/подтверждают уже
имеющиеся проверки. Полный регресс pytest tests/ -q должен оставаться зелёным. Имена статусов
Plane и лейблов в слайдах сверяются с docs/overview/tech-pipeline.md, tech-integrations.md и
CLAUDE.md (фактологическая точность, BR-5). TC-07 (сборка .pptx) — обязательная ручная
проверка в одноразовом dev-venv: python-pptx в прод/тест-образ НЕ добавляется.
tests:
- id: TC-01
type: unit
description: "parse_slides разбирает presentation.md: слайдов >= 12, номера сквозные [1..N], у каждого непустой заголовок и >= 1 тезис (после добавления новых слайдов нумерация не разъехалась)."
module: tests/test_system_docs.py
expected: PASS
- id: TC-02
type: unit
description: "Обязательные биты нарратива присутствуют (проблем/решени/конвейер/сценари/тираж/статус) — существующая проверка остаётся зелёной после правок."
module: tests/test_system_docs.py
expected: PASS
- id: TC-03
type: unit
description: "Новый контент зафиксирован анти-дрейфом: добавлены и зелёные assert'ы присутствия слайда Lite-установки (напр. lite/установк) и слайдов использования через Plane (напр. plane + признак оператор-инструкции)."
module: tests/test_system_docs.py
expected: PASS
- id: TC-04
type: unit
description: "Процедура сборки .pptx цела: presentation.md несёт ссылку на build_presentation.py и явные маркеры «Проверка:» (test_presentation_carries_reproducible_build_procedure)."
module: tests/test_system_docs.py
expected: PASS
- id: TC-05
type: unit
description: "Гигиена витрины: нет боевых хост-литералов (FORBIDDEN-скан) и нет секретоподобных значений в presentation.md после добавления слайдов."
module: tests/test_system_docs.py
expected: PASS
- id: TC-06
type: unit
description: "Все относительные ссылки витрины (включая новые, если добавлены) резолвятся в существующие файлы (test_all_relative_links_resolve_to_existing_files)."
module: tests/test_system_docs.py
expected: PASS
- id: TC-07
type: integration
description: "Ручной dev-venv шаг (вне рантайма, python-pptx): .venv-pptx/bin/python scripts/build_presentation.py печатает «Собрано слайдов: N» (N = числу слайдов), exit 0; открытый .pptx — тёмная тема, кириллица корректна, новые слайды Lite/Plane присутствуют и редактируемы."
module: docs/overview/presentation.md
expected: PASS
- id: TC-08
type: unit
description: "Self-hosting инвариант: python-pptx отсутствует в requirements*/Dockerfile (test_no_pptx_dependency_in_prod_image); top-level scripts/build_presentation.py остаётся stdlib-only (импорт pptx ленивый)."
module: tests/test_system_docs.py
expected: PASS
- id: TC-09
type: unit
description: "Указатели репозитория: CHANGELOG.md несёт запись по ORCH-105 (запись docs:), витрина docs/overview/ по-прежнему достижима из README.md/CLAUDE.md."
module: tests/test_system_docs.py
expected: PASS
- id: TC-10
type: integration
description: "Полный регресс pytest tests/ -q зелёный — изменение docs-only, рантайм-код не тронут, регрессии нет."
module: tests/
expected: PASS