Files
orchestrator/docs/work-items/ORCH-081/03-acceptance-criteria.md

61 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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>