# A/B-проверка промптов (старый vs новый канон) — ORCH-077 / ORCH-52d > Полуавтоматический интеграционный прогон (test-plan **TC-09**, покрывает **AC-6**). > Это не pytest-кейс: семантическое качество выхода агента нельзя проверить юнит-тестом. > Результат фиксируется тестером в `docs/work-items/ORCH-077/13-test-report.md`. ## Зачем ORCH-077 переписывает тело 6 системных промптов в каноне Anthropic и учит их эмитить frontmatter-схему 52c. Критерий приёмки AC-6 — **новый промпт не хуже старого**: не растёт число циклов `REQUEST_CHANGES` и не теряется содержание артефакта стадии. ## In-vivo метод (основной, без прод-рестарта) Промпт `cat`-ается из git-worktree агента в момент запуска (`launcher --system-prompt "$(cat .openclaw/agents/.md)"`), НЕ запекается в образ (ADR-001 D6). Следствие: worktree последующих стадий **этой же** ветки ORCH-077 срезается на её HEAD → reviewer и tester самой ORCH-077 исполняются **уже под новыми промптами**. Это естественный A/B без отдельного стенда и без рестарта прод-контейнера (8500). Зафиксировать в `13-test-report.md`: 1. **Стадия сравнения** — ≥1 репрезентативная (например `review` и/или `testing` самой ORCH-077). 2. **Число циклов `REQUEST_CHANGES`** на этой задаче — не выросло относительно типичного для docs-задачи (ожидаемо 0–1). 3. **Полнота артефакта** — `12-review.md` / `13-test-report.md` содержат все обязательные секции и обязательную frontmatter-схему 52c (6 полей). 4. **Парсимость машинного вердикта** — `verdict:` / `result:` корректно прочитаны гейтом (`check_reviewer_verdict` / `check_tests_passed`), регистр/имя ключа не изменились. ## Опциональный метод (ручное сравнение на фиксированном входе) Допустимо вне конвейера сравнить артефакт одной стадии, сгенерированный под старым и новым промптом на одинаковом входе (например прогнать reviewer на одном и том же diff с `git show :.openclaw/agents/reviewer.md` vs текущим). Метод offline, без деструктива. ## Критерий PASS Новый промпт **не хуже**: машинный вердикт парсится, обязательные элементы артефакта на месте, число циклов `REQUEST_CHANGES` не выросло. Любой регресс (потеря содержания, непарсимый вердикт, рост циклов) → FAIL → фиксируется и возвращается на доработку промптов.