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

90 lines
5.6 KiB
YAML
Raw Permalink 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-092
stage: analysis
author_agent: analyst
status: ready-for-review
created_at: 2026-06-09
model_used: claude-opus-4-8
title: "Промпт-аудит 6 агентов: расхардкод дат/модели, сверка гейтов, escalation, чистка"
framework: pytest
scope: >
Покрываются структурные (pure-text) инварианты 6 промптов .openclaw/agents/*.md после
аудита ORCH-092, плюс анти-регресс канона 52d/52c/52e и машинных verdict-ключей. Вне
покрытия: поведение src/ (НЕ трогается), запуск реальных агентов. Полный регресс tests/
должен оставаться зелёным. Новые TC живут в tests/test_agent_prompts_canon.py; TC-03 —
единственный с импортом QG_CHECKS (integration).
notes: >
Все правки docs/prompts-only — src/ не изменяется, прод-контейнер 8500 не перезапускается.
Регрессом считается: слом любого verdict-ключа (verdict:/result:/staging_status:/
deploy_status:/security_status:) по имени/регистру/значению; нарушение порядка/наличия 5
XML-секций или 6 полей 52c; красный test_agent_prompts_canon.py или
test_agent_frontmatter_no_model.py. P1-2 (rebase) и P2-2 (язык deployer) фиксируются ADR —
TC проверяют лишь, что промпт согласован и канон/ключи не сломаны.
tests:
- id: TC-01
type: unit
description: "AC-1: во всех 6 промптах пример frontmatter использует created_at: <YYYY-MM-DD> (нет литерала конкретной даты в копируемом блоке) и несёт инструкцию 'не копируй дату буквально'."
module: tests/test_agent_prompts_canon.py
expected: PASS
- id: TC-02
type: unit
description: "AC-2: во всех 6 промптах пример несёт model_used: <resolve ORCH-41> (нет литерала claude-opus-4-8 в копируемом блоке) + оговорку про подстановку фактической модели."
module: tests/test_agent_prompts_canon.py
expected: PASS
- id: TC-03
type: integration
description: "AC-3: каждое имя check_* в 6 промптах присутствует ключом в QG_CHECKS (импорт src.qg.checks). check_tests_passed подтверждён валидным; нет имён вне реестра."
module: tests/test_agent_prompts_canon.py
expected: PASS
- id: TC-04
type: unit
description: "AC-4: developer.md не содержит 'разбивай на меньшие PR'; содержит эскалацию для слишком большого PR (декомпозиция на уровне задач); маркер 'свой PR' сохранён."
module: tests/test_agent_prompts_canon.py
expected: PASS
- id: TC-05
type: unit
description: "AC-5: developer.md, reviewer.md, tester.md содержат секцию <escalation>…</escalation> с маршрутами back-to:analysis / back-to:dev / REQUEST_CHANGES соответственно."
module: tests/test_agent_prompts_canon.py
expected: PASS
- id: TC-06
type: unit
description: "AC-7: tester.md содержит явный worktree-путь, smoke-проверку блока serial_gate в /queue (ORCH-088) и упоминание покрытия ТЗ (каждый TC из 04-test-plan) в success_criteria; маркеры pytest//health//status//queue сохранены."
module: tests/test_agent_prompts_canon.py
expected: PASS
- id: TC-07
type: unit
description: "AC-6: deployer.md несёт в начале видную рамку с запретом рестарта прод-8500; анти-регресс-маркеры docker exec orchestrator-staging / pr_already_merged / 8500 / INFRA-WAIVED сохранены."
module: tests/test_agent_prompts_canon.py
expected: PASS
- id: TC-08
type: unit
description: "AC-8: reviewer.md не содержит 'того же экземпляра Developer'; маркеры REQUEST_CHANGES, 'НЕ обновлена', TRACEABILITY.md, 'Известные ограничения', ORCH-079 сохранены."
module: tests/test_agent_prompts_canon.py
expected: PASS
- id: TC-09
type: unit
description: "AC-9 анти-регресс: verdict-ключи (verdict:/result:/staging_status:/deploy_status:/security_status:) и значения (APPROVED/REQUEST_CHANGES/PASS/FAIL/SUCCESS/FAILED) присутствуют байт-в-байт; 5 XML-секций в нормативном порядке + 6 полей 52c во всех 6 промптах (существующие канон-проверки зелёные)."
module: tests/test_agent_prompts_canon.py
expected: PASS
- id: TC-10
type: unit
description: "AC-9: верхний frontmatter определения агента остаётся валидным YAML с name/description и без ключа model: во всех 6 промптах (регресс test_agent_frontmatter_no_model.py)."
module: tests/test_agent_frontmatter_no_model.py
expected: PASS
- id: TC-11
type: integration
description: "AC-9/AC-10: полный регресс pytest tests/ -q зелёный; git diff не содержит правок src/ (docs/prompts-only)."
module: tests/
expected: PASS