tester(ET): auto-commit from tester run_id=397
All checks were successful
CI / test (push) Successful in 29s
All checks were successful
CI / test (push) Successful in 29s
This commit is contained in:
82
docs/work-items/ORCH-074/13-test-report.md
Normal file
82
docs/work-items/ORCH-074/13-test-report.md
Normal file
@@ -0,0 +1,82 @@
|
||||
---
|
||||
type: test-report
|
||||
work_item_id: ORCH-074
|
||||
result: PASS
|
||||
---
|
||||
|
||||
# Test Report — ORCH-074
|
||||
|
||||
Убрать мёртвый frontmatter `model:` из 6 промптов + валидация имени модели (never-break).
|
||||
Скоп: G1 + G2 + опц. G4 (выключен). G3 routing снят. Review-вердикт: APPROVED.
|
||||
|
||||
## Окружение
|
||||
- Python: 3.12.13
|
||||
- pytest: 8.3.3
|
||||
- Ветка: feature/ORCH-074-orch-52a-frontmatter-routing-e (worktree)
|
||||
- prod health (8500): `{"status":"ok","service":"orchestrator"}`
|
||||
- Дата: 2026-06-08
|
||||
|
||||
## Результаты по тест-плану (04-test-plan.yaml)
|
||||
|
||||
| TC ID | Описание | Тест | Результат |
|
||||
|-------|----------|------|-----------|
|
||||
| TC-01 | Ни один `.openclaw/agents/*.md` не содержит `^model:` (G1, AC-1) | test_no_model_line_in_frontmatter[×6] | PASS |
|
||||
| TC-02 | frontmatter валидный YAML, ключи name/description сохранены | test_frontmatter_still_valid_yaml_with_keys[×6] | PASS |
|
||||
| TC-03 | Мусорный `agent_model_<agent>` → откат на default, warning, мусор не в `--model` | test_garbage_per_agent_env_falls_back_to_default | PASS |
|
||||
| TC-04 | Мусорный project-override → откат на default | test_garbage_project_override_falls_back_to_default | PASS |
|
||||
| TC-05 | Невалидны override И default → `""` (CLI-дефолт), без исключения | test_all_levels_invalid_returns_empty | PASS |
|
||||
| TC-06 | Валидное `claude-opus-4-8` проходит без изменения (регрессия ORCH-041) | test_valid_canonical_unchanged | PASS |
|
||||
| TC-07 | Все 6 агентов резолвятся в `claude-opus-4-8` (routing выкл) | test_all_six_agents_resolve_to_opus_4_8 | PASS |
|
||||
| TC-08 | Валидный enduro per-project override не сломан валидацией | test_valid_per_project_override_unchanged | PASS |
|
||||
| TC-09 | G4 выключен: `agent_fallback_model == ""` (дефолт) | test_fallback_model_disabled_by_default | PASS |
|
||||
| TC-10 | Полный pytest зелёный; never-break graceful-деградация | tests/ (1012 passed) | PASS |
|
||||
| TC-11 | G4 never-break (мусорный fallback не в `--fallback-model`) | — | N/A (G4 выключен, синхр. с ADR/AC-5) |
|
||||
|
||||
Доп. предикат-юниты: `test_is_valid_model_accepts_canonical`, `test_is_valid_model_rejects_garbage` — PASS.
|
||||
|
||||
## Проверка критериев приёмки
|
||||
|
||||
| AC | Статус | Подтверждение |
|
||||
|----|--------|---------------|
|
||||
| AC-1 frontmatter `model:` убран | PASS | `grep -L "^model:" .openclaw/agents/*.md` → все 6 файлов; `grep -rn "^model:"` → пусто |
|
||||
| AC-2 валидация never-break | PASS | TC-03..05 |
|
||||
| AC-3 все 6 → `claude-opus-4-8` | PASS | TC-07 |
|
||||
| AC-4 routing G3 | N/A | снят решением (ADR) |
|
||||
| AC-5 fallback G4 | PASS | G4 выключен, `agent_fallback_model=""`, ADR фиксирует отказ (TC-09) |
|
||||
| AC-6 синхронизация доков | PASS | проверено reviewer (README/CLAUDE.md/.env.example) |
|
||||
| AC-7 pytest зелёный | PASS | 1012 passed |
|
||||
| AC-8 enduro override | PASS | TC-08 |
|
||||
| AC-9 ADR | PASS | 06-adr/ADR-001 присутствует |
|
||||
|
||||
## Smoke test API (prod, read-only)
|
||||
```
|
||||
GET /health → HTTP 200 {"status":"ok","service":"orchestrator"}
|
||||
GET /status → HTTP 200
|
||||
GET /queue → HTTP 200
|
||||
```
|
||||
|
||||
## Вывод pytest
|
||||
```
|
||||
$ python -m pytest tests/ -q
|
||||
1012 passed, 1 warning in 22.07s
|
||||
|
||||
$ python -m pytest tests/test_agent_frontmatter_no_model.py tests/test_resolve_agent_model.py -v
|
||||
32 passed, 1 warning in 0.37s
|
||||
```
|
||||
(1 warning — PydanticDeprecatedSince20 в `src/config.py:5`, существующий, вне скоупа задачи.)
|
||||
|
||||
## AC-1 grep-проверка
|
||||
```
|
||||
$ grep -L "^model:" .openclaw/agents/*.md
|
||||
.openclaw/agents/analyst.md
|
||||
.openclaw/agents/architect.md
|
||||
.openclaw/agents/deployer.md
|
||||
.openclaw/agents/developer.md
|
||||
.openclaw/agents/reviewer.md
|
||||
.openclaw/agents/tester.md
|
||||
$ grep -rn "^model:" .openclaw/agents/*.md # пусто (exit 1)
|
||||
```
|
||||
|
||||
## Итог
|
||||
**PASS** — все применимые тест-кейсы (TC-01..10) зелёные, TC-11 корректно N/A (G4 выключен),
|
||||
все AC выполнены (AC-4 — N/A по скоупу), smoke API OK. Задача готова к стадии deploy-staging.
|
||||
Reference in New Issue
Block a user