61 lines
4.2 KiB
Markdown
61 lines
4.2 KiB
Markdown
# 03 — Критерии приёмки: ORCH-081 (ORCH-52h)
|
||
|
||
Каждый критерий — чёткое условие PASS/FAIL. Пустой env моделируется в unit-тестах
|
||
(установка `agent_effort_* = ""`), проверка «в проде» — операционная (post-deploy).
|
||
|
||
## AC-1 — осмысленный непустой эффорт для всех 6 агентов
|
||
**PASS:** `resolve_agent_effort(agent)` возвращает целевое непустое значение для каждой
|
||
роли при канонической конфигурации:
|
||
|
||
| agent | ожидаемое |
|
||
|-------|-----------|
|
||
| analyst | `high` |
|
||
| architect | `high` |
|
||
| developer | `xhigh` |
|
||
| reviewer | `high` |
|
||
| tester | `medium` |
|
||
| deployer | `medium` |
|
||
|
||
**FAIL:** любой агент возвращает `''` или значение, отличное от таблицы.
|
||
|
||
## AC-2 — пустой env НЕ приводит к пустому эффорту (вариант c)
|
||
**PASS:** при `agent_effort_default = ""` И всех `agent_effort_<role> = ""`
|
||
(моделирование прод-env, где `ORCH_AGENT_EFFORT_*=` пусты) `resolve_agent_effort` для
|
||
каждой из 6 ролей возвращает значение по таблице AC-1 (floor per-role срабатывает:
|
||
developer=`xhigh`, tester/deployer=`medium`, остальные=`high`), а **не** `''`.
|
||
**FAIL:** хотя бы одна роль при полностью пустом env даёт `''`.
|
||
|
||
## AC-3 — эффорт реально пробрасывается в запуск агента
|
||
**PASS:** в `launcher._spawn` (или эквивалентной сборке) при непустом резолвнутом
|
||
эффорте формируется `--effort <value> ` во флагах команды; при пустом — флаг
|
||
отсутствует. Тест сборки флага подтверждает наличие `--effort xhigh ` для developer и
|
||
`--effort medium ` для tester.
|
||
**FAIL:** `--effort` отсутствует при непустом значении ИЛИ присутствует при пустом.
|
||
|
||
## AC-4 — документация синхронизирована
|
||
**PASS:** `.env.example` содержит `ORCH_AGENT_EFFORT_DEVELOPER=xhigh` и корректный
|
||
комментарий про split; таблица «Модель и эффорт по ролям» в
|
||
`docs/architecture/README.md` показывает developer = `xhigh` (остальные без изменений);
|
||
`CHANGELOG.md` содержит запись о фиксе.
|
||
**FAIL:** любой из трёх артефактов рассинхронизирован с фактическими дефолтами config.
|
||
|
||
## AC-5 — never-break, тесты зелёные
|
||
**PASS:**
|
||
- `pytest -q` целиком зелёный (включая существующие
|
||
`tests/test_resolve_agent_effort.py` и новые кейсы).
|
||
- Невалидное значение эффорта (`turbo`/`ultra`/`bogus`) по-прежнему логируется и
|
||
дропается в `''` (floor его НЕ маскирует) — регрессии валидации ORCH-41 нет.
|
||
- Непустой явный per-agent env / project-override по-прежнему побеждает floor
|
||
(приоритет резолва сохранён).
|
||
- `xhigh ∈ VALID_EFFORTS` (подтверждено тестом).
|
||
|
||
**FAIL:** падение любого теста, регрессия валидации/приоритета, либо `xhigh`
|
||
отвергается как невалидный.
|
||
|
||
## AC-6 (операционный, для деплой-стадии) — проверка в проде
|
||
**PASS:** после деплоя на проде `resolve_agent_effort` для 6 агентов даёт значения
|
||
AC-1 (проверяется в рантайме прод-инстанса / по логам запуска агента — наличие
|
||
`--effort` с верным уровнем). Фиксируется в `14-deploy-log.md`.
|
||
**FAIL:** в проде хотя бы один агент бежит без `--effort` или с неверным уровнем.
|
||
</content>
|