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: (нет литерала конкретной даты в копируемом блоке) и несёт инструкцию 'не копируй дату буквально'." module: tests/test_agent_prompts_canon.py expected: PASS - id: TC-02 type: unit description: "AC-2: во всех 6 промптах пример несёт model_used: (нет литерала 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 содержат секцию с маршрутами 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