Files
orchestrator/docs/work-items/ORCH-047/03-acceptance-criteria.md
claude-bot c3879f2b80
All checks were successful
CI / test (push) Successful in 12s
analyst(ET): auto-commit from analyst run_id=125
2026-06-05 20:44:58 +00:00

4.4 KiB
Raw Permalink Blame History

Критерии приёмки — ORCH-047

Каждый критерий имеет однозначное условие PASS/FAIL.

AC-01 — result: PASS проходит гейт (главный кейс ORCH-17)

  • Дано: 13-test-report.md с frontmatter, содержащим только result: PASS (без verdict:/status:).
  • Ожидается: check_tests_passed(...)(True, ...), в reason присутствует «PASS».
  • PASS: возвращается True. FAIL: возвращается False.

AC-02 — result: FAIL откатывает задачу

  • Дано: frontmatter с result: FAIL (без verdict:/status:).
  • Ожидается: (False, ...), reason содержит токен отрицания (FAIL).
  • PASS: False. FAIL: True.

AC-03 — Negative авторитетен поверх positive (в т.ч. между полями)

  • Дано: result: PASS, но verdict: BLOCKED (или status: failed).
  • Ожидается: (False, ...), reason упоминает negative-токен (BLOCKED/FAILED).
  • PASS: False. FAIL: True.

AC-04 — Positive в любом из трёх полей даёт PASS

  • Дано (каждый подкейс отдельно):
    • только verdict: PASS;
    • только status: PASSED;
    • только result: ready-to-deploy.
  • Ожидается: все три → (True, ...).
  • PASS: все True. FAIL: хоть один False.

AC-05 — Обратная совместимость (enduro-trails / ORCH-016)

  • Дано: существующие реальные формы из TestCheckTestsPassed:
    • verdict: PASS + status: pass;
    • verdict: PASS — ready-to-deploy;
    • verdict: ready-to-deploy + status: PASSED;
    • verdict: stage:ready-to-deploy + status: pass;
    • verdict: BLOCKED + проза «23 passed».
  • Ожидается: результаты идентичны прежним (PASS-кейсы → True, BLOCKED → False). Старые тесты TestCheckTestsPassed зелёные.
  • PASS: поведение не изменилось. FAIL: любой регресс.

AC-06 — Ни одно из трёх полей не задано → FAIL

  • Дано: frontmatter без result/verdict/status (например, только type:/version:); тело может содержать «Result: PASS» прозой.
  • Ожидается: (False, ...), причина про отсутствие машиночитаемого вердикта.
  • PASS: False. FAIL: True.

AC-07 — Только проза, без frontmatter → FAIL

  • Дано: отчёт без YAML-frontmatter, в теле «Result: PASS / All tests passed».
  • Ожидается: (False, ...), причина про отсутствие frontmatter. Прозу не читаем.
  • PASS: False. FAIL: True.

AC-08 — Битый YAML → FAIL без исключения

  • Дано: некорректный YAML во frontmatter.
  • Ожидается: (False, ...) c упоминанием YAML/frontmatter, функция НЕ бросает исключение.
  • PASS: False и нет raise. FAIL: raise или True.

AC-09 — Отчёт отсутствует → FAIL

  • Дано: файла 13-test-report.md нет.
  • Ожидается: (False, "...not found...").
  • PASS: False. FAIL: True.

AC-10 — Реестр гейтов неизменен

  • Ожидается: QG_CHECKS содержит ровно те же ключи, что и до изменения; tests/test_qg_registry_snapshot.py зелёный.
  • PASS: снапшот совпал. FAIL: снапшот изменился.

AC-11 — Документация и ADR обновлены (правило 2/6 CLAUDE.md)

  • Ожидается: заведён docs/work-items/ORCH-047/06-adr/ADR-001-*.md; обновлены docs/architecture/README.md (вердикт-парсер testing-гейта) и CHANGELOG.md.
  • PASS: все три присутствуют и описывают изменение. FAIL: что-либо отсутствует → REQUEST_CHANGES на review.

AC-12 — Полный регресс зелёный

  • Ожидается: pytest tests/ -q — все тесты PASS.
  • PASS: exit code 0. FAIL: любой упавший тест.