3.9 KiB
3.9 KiB
type, work_item_id, verdict, version
| type | work_item_id | verdict | version |
|---|---|---|---|
| review | ORCH-047 | APPROVED | 4 |
Review ORCH-047
Summary
Гейт check_tests_passed (через _parse_tests_verdict) теперь читает result: наравне с
verdict:/status:. Реализация точно соответствует ТЗ (02-trz.md), ADR-001 и критериям
приёмки. Независимый прогон: pytest tests/ -q → 442 passed; снапшот реестра гейтов не
изменился. Документация (README, ADR-001, CHANGELOG) обновлена в том же PR. Блокеров и
must-fix нет → APPROVED.
Findings
P0 — Blocker
- нет
P1 — Must fix
- нет
P2 — Should fix
- нет
P3 — Nice-to-have
- Докстринг
check_tests_passed(≈стр. 184) по-прежнему говорит «Gate the testing -> deploy transition», тогда как фактический переход —testing → deploy-staging. Несоответствие предсуществующее, этим PR не введено; чистая косметика, не блокирует.
Соответствие ТЗ и AC
- ТЗ §2 — все 10 правил поведения реализованы: чтение
result:(стр. 261, нормализацияstr(...).upper().strip()+ защита отNone); все три пусты → корректная reason-строка «...verdict/status/result...» (стр. 263–264); объединённая строкаfields = "{verdict} {status} {result}"(стр. 267); negative-токен проверяется ПЕРВЫМ и авторитетен (стр. 268–270); positive (стр. 271–273); fallback на нераспознанные (стр. 275–279). Наборы_TESTS_NEGATIVE_TOKENS/_TESTS_POSITIVE_TOKENSне тронуты. ✅ - ТЗ §4/§5/§6 — сигнатура
check_tests_passed, имя гейта,QG_CHECKS, HTTP-API, схема БД не изменены. Снапшотtests/test_qg_registry_snapshot.pyзелёный (AC-10). ✅ - AC-01..AC-09 — покрыты новыми кейсами в
TestCheckTestsPassed:result: PASS/FAIL, авторитетность negative между полями (verdict: BLOCKED,status: failedповерхresult: PASS),result: ready-to-deploy, отсутствие машинных полей (reason упоминаетresult). Легаси-кейсы остались зелёными без правок логики (AC-05). ✅ - AC-12 —
pytest tests/ -q→ 442 passed (независимый прогон ревьюера). ✅
Соответствие ADR
- ADR-001 (
06-adr/ADR-001-result-field-in-tests-gate.md): решение «три равноправных поля, токены заморожены, negative авторитетен, реестр/сигнатура неизменны» полностью отражено в коде. - Глобальный ADR обоснованно не требуется (изменение не добавляет гейт/стадию/компонент, не меняет топологию) — согласуется с конвенцией CLAUDE.md. SHARED-риск общего инстанса (orchestrator + enduro-trails) учтён: токены заморожены, обратная совместимость покрыта тестами.
Документация
ОБНОВЛЕНА в том же PR (правило 2/6 CLAUDE.md, AC-11):
docs/architecture/README.md— строка вердикт-парсера: для testing-гейта перечисленыresult:/verdict:/status:+ пометка про авторитетность negative. ✅docs/work-items/ORCH-047/06-adr/ADR-001-result-field-in-tests-gate.md— заведён. ✅CHANGELOG.md— запись вFixedпро ORCH-047. ✅