work_item: ORCH-081
description: >
  Тест-план фикса ORCH-52h — устойчивость резолва эффорта к пустому env (вариант c) +
  фиксация целевых дефолтов (developer -> xhigh). Расширяет существующий
  tests/test_resolve_agent_effort.py. Пустой прод-env моделируется установкой
  agent_effort_* = "" на settings (через monkeypatch), как уже делают текущие тесты.
tests:
  - id: TC-01
    type: unit
    description: >
      Канонические дефолты: resolve_agent_effort для всех 6 ролей даёт
      analyst/architect/reviewer=high, developer=xhigh, tester/deployer=medium.
    module: tests/test_resolve_agent_effort.py
    covers: [AC-1, FR-4]
    expected: PASS

  - id: TC-02
    type: unit
    description: >
      Пустой env (вариант c): при agent_effort_default="" И всех
      agent_effort_<role>="" каждая из 6 ролей возвращает целевое значение по AC-1
      (НЕ ""). Ключевой кейс бага: developer -> xhigh, tester/deployer -> medium,
      analyst/architect/reviewer -> high.
    module: tests/test_resolve_agent_effort.py
    covers: [AC-2]
    expected: PASS

  - id: TC-03
    type: unit
    description: >
      Floor НЕ маскирует опечатку: невалидное значение (default/per-agent/override =
      'turbo'/'ultra'/'bogus') по-прежнему логируется и дропается в "" (валидация
      ORCH-41 не регрессирует). Проверить, что floor не подменяет невалидный явный ввод
      на дефолт.
    module: tests/test_resolve_agent_effort.py
    covers: [AC-5, FR-3]
    expected: PASS

  - id: TC-04
    type: unit
    description: >
      Приоритет сохранён: непустой per-agent env побеждает floor/ default
      (ORCH_AGENT_EFFORT_DEVELOPER=high -> "high", не "xhigh"); project-override
      побеждает per-agent (agent_efforts={"developer":"xhigh"}).
    module: tests/test_resolve_agent_effort.py
    covers: [AC-5, FR-2]
    expected: PASS

  - id: TC-05
    type: unit
    description: >
      xhigh валиден: xhigh ∈ VALID_EFFORTS и resolve_agent_effort с developer-дефолтом
      xhigh не дропается.
    module: tests/test_resolve_agent_effort.py
    covers: [AC-5, FR-5]
    expected: PASS

  - id: TC-06
    type: unit
    description: >
      Сборка флага: при resolve developer=xhigh во флагах присутствует "--effort xhigh ",
      при tester=medium — "--effort medium "; при пустом эффорте "--effort" отсутствует
      (mirror логики _spawn, как существующие test_flags_* кейсы).
    module: tests/test_resolve_agent_effort.py
    covers: [AC-3]
    expected: PASS

  - id: TC-07
    type: integration
    description: >
      Документация синхронизирована: .env.example содержит
      ORCH_AGENT_EFFORT_DEVELOPER=xhigh; README таблица эффорта показывает developer
      xhigh. (Проверяется ревьюером/тестером по diff; опционально — текстовая ассерта.)
    module: tests/test_resolve_agent_effort.py
    covers: [AC-4]
    expected: PASS

  - id: TC-08
    type: unit
    description: >
      Регрессия существующего набора: весь tests/test_resolve_agent_effort.py +
      tests/test_resolve_agent_model.py остаются зелёными (never-break ORCH-41/074).
    module: tests/test_resolve_agent_effort.py
    covers: [AC-5]
    expected: PASS
</content>
