5.4 KiB
5.4 KiB
result, work_item, stage, author_agent, status, created_at, model_used, type, work_item_id
| result | work_item | stage | author_agent | status | created_at | model_used | type | work_item_id |
|---|---|---|---|---|---|---|---|---|
| PASS | ORCH-092 | testing | tester | pass | 2026-06-09 | claude-opus-4-8 | test-report | ORCH-092 |
Test Report — ORCH-092 — Промпт-аудит 6 агентов
Окружение
- Python: 3.12.13
- pytest: 8.3.3
- Worktree:
/repos/_wt/orchestrator/feature_ORCH-092-6-escalation(веткаfeature/ORCH-092-6-escalation) - Дата: 2026-06-09
- Review-вердикт (
12-review.md): APPROVED — предусловие стадии выполнено.
Команды
cd /repos/_wt/orchestrator/feature_ORCH-092-6-escalation && python -m pytest tests/ -q
python -m pytest tests/test_agent_prompts_canon.py tests/test_agent_frontmatter_no_model.py -q
curl -s http://localhost:8500/health → {"status":"ok","service":"orchestrator"}
curl -s http://localhost:8500/status → 200 OK (active_tasks[0] = ORCH-092/testing)
curl -s http://localhost:8500/queue → serial_gate present: True · auto_labels present: True
git diff --stat main -- src/ → пусто (src/ не тронут, docs/prompts-only)
Результаты по тест-плану (04-test-plan.yaml ↔ 03-acceptance-criteria.md)
| TC ID | AC | Описание | Покрывающий тест | Результат |
|---|---|---|---|---|
| TC-01 | AC-1 | created_at: <YYYY-MM-DD> плейсхолдер во всех 6 промптах + инструкция «не копируй буквально» |
test_orch092_created_at_is_placeholder_not_literal |
PASS |
| TC-02 | AC-2 | model_used: <resolve ORCH-41> плейсхолдер; нет литерала claude-opus-4-8 в копируемом блоке |
test_orch092_model_used_is_placeholder_not_literal |
PASS |
| TC-03 | AC-3 | каждое имя check_* в 6 промптах присутствует ключом в QG_CHECKS (импорт src.qg.checks) |
test_orch092_gate_names_match_qg_registry |
PASS |
| TC-04 | AC-4 | developer: «разбивай на меньшие PR» удалено → эскалация; маркер «свой PR» сохранён | test_orch092_developer_pr_oversize_is_escalation_not_split |
PASS |
| TC-05 | AC-5 | <escalation> у developer/reviewer/tester после </success_criteria>; маршруты ролеспецифичны |
test_orch092_escalation_section_present_after_success + ..._routes_are_role_specific |
PASS |
| TC-06 | AC-7 | tester: worktree-путь, smoke serial_gate в /queue, покрытие ТЗ; маркеры pytest//health//status//queue целы |
test_orch092_tester_enriched |
PASS |
| TC-07 | AC-6 | deployer: видная рамка запрета рестарта прод-8500; маркеры docker exec orchestrator-staging/pr_already_merged/8500/INFRA-WAIVED целы |
test_orch092_deployer_prominent_ban_frame |
PASS |
| TC-08 | AC-8 | reviewer: «того же экземпляра Developer» удалена; живые маркеры (REQUEST_CHANGES/«НЕ обновлена»/TRACEABILITY.md/Известные ограничения/ORCH-079) целы |
test_orch092_reviewer_dead_line_removed |
PASS |
| TC-09 | AC-9 | verdict-ключи байт-в-байт + 5 XML-секций в порядке + 6 полей 52c во всех 6 промптах | test_machine_verdict_keys_preserved_exact_case + test_five_xml_sections_present + test_six_schema_field_names_present |
PASS |
| TC-10 | AC-9 | верхний frontmatter определения агента валиден, без ключа model: |
tests/test_agent_frontmatter_no_model.py |
PASS |
| TC-11 | AC-9/AC-10 | полный регресс pytest tests/ -q зелёный; git diff не содержит правок src/ |
tests/ (1278 passed) + git diff --stat main -- src/ пуст |
PASS |
Итог покрытия: все 11 TC выполнены и сопоставлены с критериями приёмки AC-1…AC-10. Несопоставленных TC нет.
Smoke API (read-only)
GET /health→{"status":"ok","service":"orchestrator"}— OK.GET /status→ 200; активная задачаORCH-092на стадииtesting.GET /queue→ 200; блокserial_gateприсутствует (ORCH-088, анти-регресс смока пройден), блокauto_labelsприсутствует (ORCH-089).
Вывод pytest
tests/test_agent_prompts_canon.py tests/test_agent_frontmatter_no_model.py — 75 passed in 0.45s
tests/ (полный регресс):
........................................................................ [ 95%]
...................................................... [100%]
1278 passed, 1 warning in 35.24s
Единственный warning —
PydanticDeprecatedSince20(class-based config вsrc/config.py), предсуществующий, не относится к ORCH-092, на результат не влияет.
Итог
PASS — полный регресс (1278 passed) и целевые анти-регресс-тесты (75 passed) зелёные; smoke /health//status//queue (включая блок serial_gate) — OK; src/ не тронут (docs/prompts-only). Каждый TC из 04-test-plan.yaml выполнен и сопоставлен с 03-acceptance-criteria.md. Задача готова к переходу на deploy-staging.