4.4 KiB
4.4 KiB
Критерии приёмки — 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: любой упавший тест.