tester(ET): auto-commit from tester run_id=481
This commit is contained in:
67
docs/work-items/ORCH-092/13-test-report.md
Normal file
67
docs/work-items/ORCH-092/13-test-report.md
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
result: PASS
|
||||
work_item: ORCH-092
|
||||
stage: testing
|
||||
author_agent: tester
|
||||
status: pass
|
||||
created_at: 2026-06-09
|
||||
model_used: claude-opus-4-8
|
||||
type: test-report
|
||||
work_item_id: 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`.
|
||||
Reference in New Issue
Block a user