tester(ET): auto-commit from tester run_id=129
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 12s

This commit is contained in:
2026-06-05 21:07:30 +00:00
parent c1abfb7436
commit 58fc0a8b94

View File

@@ -0,0 +1,78 @@
---
type: test-report
work_item_id: ORCH-047
result: PASS
---
# Test Report — ORCH-047
`check_tests_passed` / `_parse_tests_verdict` читает `result:` наравне с `verdict:`/`status:`.
## Окружение
- Python: 3.12.13
- pytest: 8.3.3
- Ветка: feature/ORCH-047-check-tests-passed-gate-must-r
- Среда: dev worktree (прод-контейнер `orchestrator` :8500 не затронут)
- Дата: 2026-06-05
## Smoke test API (prod :8500, read-only)
| Endpoint | Результат |
|----------|-----------|
| `GET /health` | `{"status":"ok","service":"orchestrator"}` — OK |
| `GET /status` | 200, активные задачи отдаются (ORCH-047 в testing) — OK |
| `GET /queue` | 200, counts/breaker/preflight в норме (running:1, failed:0) — OK |
## Результаты (план `04-test-plan.yaml`)
| TC ID | Описание | Тест | Результат |
|-------|----------|------|-----------|
| TC-01 | `result: PASS` без verdict/status → PASS (AC-01) | `test_result_pass_passes` | PASS |
| TC-02 | `result: FAIL` → FAIL, reason содержит FAIL (AC-02) | `test_result_fail_fails` | PASS |
| TC-03 | `result: PASS` + `verdict: BLOCKED` → negative авторитетен → FAIL (AC-03) | `test_result_pass_but_verdict_blocked_fails` | PASS |
| TC-04 | `result: PASS` + `status: failed` → FAIL (AC-03) | `test_result_pass_but_status_failed_fails` | PASS |
| TC-05 | `result: ready-to-deploy` → PASS (AC-04) | `test_result_ready_to_deploy_passes` | PASS |
| TC-06 | Легаси `verdict: PASS` → PASS, без регресса (AC-05) | `test_verdict_pass_passes` | PASS |
| TC-07 | `verdict: BLOCKED` + проза «23 passed» → FAIL (AC-05) | `test_passed_count_in_body_but_blocked_verdict_fails` | PASS |
| TC-08 | Нет машинных полей, проза «Result: PASS» → FAIL (AC-06) | `test_no_machine_field_reason_mentions_result` | PASS |
| TC-09 | Нет frontmatter → FAIL (AC-07) | `test_no_frontmatter_fails` | PASS |
| TC-10 | Битый YAML → FAIL без исключения (AC-08) | `test_invalid_yaml_fails_no_exception` | PASS |
| TC-11 | Отчёт отсутствует → FAIL «not found» (AC-09) | `test_no_report` | PASS |
| TC-12 | Реестр `QG_CHECKS` неизменен (AC-10) | `test_qg_registry_snapshot.py` (2 теста) | PASS |
| TC-13 | Полный регресс зелёный (AC-05, AC-12) | `pytest tests/` | PASS |
## Покрытие критериев приёмки
| AC | Статус |
|----|--------|
| AC-01 `result: PASS` проходит | PASS |
| AC-02 `result: FAIL` откатывает | PASS |
| AC-03 negative авторитетен между полями | PASS |
| AC-04 positive в любом из трёх полей → PASS | PASS |
| AC-05 обратная совместимость (TestCheckTestsPassed) | PASS |
| AC-06 ни одно поле не задано → FAIL | PASS |
| AC-07 только проза без frontmatter → FAIL | PASS |
| AC-08 битый YAML → FAIL без raise | PASS |
| AC-09 отчёт отсутствует → FAIL | PASS |
| AC-10 реестр гейтов неизменен | PASS |
| AC-11 ADR/README/CHANGELOG обновлены | PASS |
| AC-12 полный регресс зелёный | PASS |
AC-11 проверено вручную:
- `docs/work-items/ORCH-047/06-adr/ADR-001-result-field-in-tests-gate.md` — присутствует.
- `docs/architecture/README.md` — строка вердикт-парсера перечисляет `result:`/`verdict:`/`status:`.
- `CHANGELOG.md` — запись `fix:` про ORCH-047.
## Вывод pytest
```
tests/test_qg.py ............................... TestCheckTestsPassed (все PASS,
включая новые test_result_* и легаси-кейсы)
tests/test_qg_registry_snapshot.py::test_tc20_qg_callables_unchanged PASSED
tests/test_qg_registry_snapshot.py::test_tc20_stage_transitions_unchanged PASSED
...
======================== 442 passed, 1 warning in 7.77s ========================
```
(1 warning — предсуществующий PydanticDeprecatedSince20 в `src/config.py`, не связан с ORCH-047.)
## Итог
PASS — все 13 TC и 12 AC выполнены, полный регресс зелёный (442 passed), smoke OK,
реестр гейтов не изменён. Задача готова к стадии deploy-staging.