diff --git a/docs/work-items/ORCH-067/12-review.md b/docs/work-items/ORCH-067/12-review.md new file mode 100644 index 0000000..50e3c1d --- /dev/null +++ b/docs/work-items/ORCH-067/12-review.md @@ -0,0 +1,58 @@ +--- +type: review +work_item_id: ORCH-067 +verdict: REQUEST_CHANGES +version: 1 +--- + +# Review ORCH-067 + +## Summary + +Реализация качественная и по существу соответствует ТЗ (`02-trz.md`) и ADR-001: +оффлайн-ядро `plane_status_label` + best-effort live-overlay `_live_plane_branch_override` +(kill-switch / TTL-кэш / короткий таймаут), единый `_plane_issue_url` с переиспользованием +guard'ов ORCH-017, хелперы `plane_issue_link` / `link_for`, дефолт `tracker_mode → bump`, +новые config-флаги. Контракт «never raises» выдержан, схема БД / транспорт +`send_telegram`/`edit_telegram`/`delete_telegram` / `disable_notification` / `STAGE_TRANSITIONS` +/ QG — не тронуты (AC-15 ✓). `pytest tests/ -q` — **907 passed** (AC-16, AC-17 ✓). +Точки §3.3 применены корректно: `merge_gate.py`/`job_reaper.py`/`main.py`/`launcher._notify_failed` +оставлены без ссылки осознанно — в их тексте НЕТ номера задачи (правило «только где упоминается +work_item_id» соблюдено). + +**Блокер — неполная документация.** ТЗ §5 и AC-18 явно требуют обновления `CHANGELOG.md` и +`CLAUDE.md` в том же PR; оба не обновлены. Это нарушает правило «документация = golden source» +(CLAUDE.md, п.6 правил агентов) → REQUEST_CHANGES. + +## Findings + +### P0 — Blocker +- [ ] **`CHANGELOG.md` не обновлён.** Нет записи ORCH-067 в секции `## [Unreleased]` + (`grep -c ORCH-067 CHANGELOG.md` → 0). Требуется ТЗ §5 и AC-18. Добавить запись о + смене дефолта `bump`, статус-строке карточки и кликабельном номере. +- [ ] **`CLAUDE.md` не обновлён.** ТЗ §5 (стр. 183) требует «раздел про нотификации/tracker + (дефолт bump; статус-строка карточки; кликабельный номер в карточке и уведомлениях)». + Файл не менялся, ORCH-067 в нём не упоминается. AC-18 → FAIL. + +### P1 — Must fix +- [ ] **`.env.example` рассинхронизирован.** ТЗ §4 (и §1.3): «Обновить `.env.example`, если в + нём фигурируют `ORCH_TRACKER_MODE`». Строка осталась `ORCH_TRACKER_MODE=edit`, тогда как + дефолт сменён на `bump` — канон env вводит в заблуждение. Также отсутствуют новые флаги + из `config.py` (`ORCH_TRACKER_LIVE_STATUS`, `ORCH_TRACKER_LIVE_STATUS_TTL_S`, + `ORCH_TRACKER_LIVE_STATUS_TIMEOUT_S`) — желательно задокументировать там же. + +### P2 — Should fix +- (нет) + +## Документация + +- `docs/architecture/README.md` — обновлён (новый компонент Notifications / Live-tracker). ✓ +- `docs/architecture/internals.md` — обновлён (§7: режимы bump/edit, строка Plane-статуса, + кликабельный номер). Качественно и точно. ✓ +- ADR per-work-item `06-adr/ADR-001-tracker-plane-status-and-link.md` — присутствует, полный. ✓ +- `CHANGELOG.md` — **НЕ обновлён** (P0). +- `CLAUDE.md` — **НЕ обновлён** (P0). +- `.env.example` — **НЕ синхронизирован** с новым дефолтом и флагами (P1). + +После закрытия P0/P1 (CHANGELOG + CLAUDE.md + .env.example) задача готова к повторному ревью. +Код и тесты правок не требуют.