reviewer(ET): auto-commit from reviewer run_id=134
This commit is contained in:
@@ -2,16 +2,17 @@
|
||||
type: review
|
||||
work_item_id: ORCH-047
|
||||
verdict: APPROVED
|
||||
version: 2
|
||||
version: 3
|
||||
---
|
||||
|
||||
# Review ORCH-047
|
||||
|
||||
## Summary
|
||||
Гейт `check_tests_passed` (`_parse_tests_verdict`) теперь читает `result:` наравне с
|
||||
`verdict:`/`status:`. Реализация точно соответствует ТЗ, ADR-001 и критериям приёмки.
|
||||
Полный регресс зелёный (442 passed), снапшот реестра гейтов не изменился. Документация
|
||||
(README, ADR, CHANGELOG) обновлена в этом же PR. Блокеров нет.
|
||||
Гейт `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
|
||||
|
||||
@@ -25,32 +26,37 @@ version: 2
|
||||
- нет
|
||||
|
||||
### P3 — Nice-to-have
|
||||
- [ ] Докстринг `check_tests_passed` (стр. 184) всё ещё говорит «Gate the testing -> deploy
|
||||
transition», тогда как фактический переход — `testing → deploy-staging`. Несоответствие
|
||||
предсуществующее, в этом PR не введено; косметика.
|
||||
- [ ] Докстринг `check_tests_passed` (≈стр. 184) по-прежнему говорит «Gate the testing ->
|
||||
deploy transition», тогда как фактический переход — `testing → deploy-staging`.
|
||||
Несоответствие предсуществующее, этим PR не введено; чистая косметика, не блокирует.
|
||||
|
||||
## Соответствие ТЗ и AC
|
||||
- **ТЗ §2** — все 10 правил поведения реализованы: чтение `result:` (стр. 261, с защитой от
|
||||
`None`/нормализацией), пустота всех трёх → корректная reason-строка (стр. 264), объединённая
|
||||
строка `fields` (стр. 267), negative проверяется первым и авторитетен, positive, fallback —
|
||||
всё на месте. Наборы токенов не тронуты (стр. 222–223). ✅
|
||||
- **ТЗ §4/§5/§6** — сигнатура гейта, `QG_CHECKS`, API, схема БД не изменены. Снапшот-тест
|
||||
`test_qg_registry_snapshot.py` зелёный (AC-10). ✅
|
||||
- **AC-01..AC-09** — покрыты: новые кейсы `result: PASS/FAIL`, negative-приоритет между полями
|
||||
(verdict BLOCKED, status failed), `result: ready-to-deploy`, отсутствие машинных полей; легаси
|
||||
`TestCheckTestsPassed` зелёные без правок логики (AC-05). ✅
|
||||
- **AC-12** — `pytest tests/ -q` → 442 passed. ✅
|
||||
- **ТЗ §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-риск (общий инстанс с enduro-trails) учтён:
|
||||
токены заморожены, обратная совместимость покрыта тестами.
|
||||
- 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. ✅
|
||||
- `CHANGELOG.md` — запись в `Fixed` про ORCH-047. ✅
|
||||
|
||||
Reference in New Issue
Block a user