reviewer(ET): auto-commit from reviewer run_id=170
This commit is contained in:
56
docs/work-items/ORCH-042/12-review.md
Normal file
56
docs/work-items/ORCH-042/12-review.md
Normal file
@@ -0,0 +1,56 @@
|
||||
---
|
||||
type: review
|
||||
work_item_id: ORCH-042
|
||||
verdict: APPROVED
|
||||
version: 1
|
||||
---
|
||||
|
||||
# Review ORCH-042
|
||||
|
||||
## Summary
|
||||
Telegram live-tracker: добавлен режим `bump` (`ORCH_TRACKER_MODE` / `Settings.tracker_mode`, дефолт `edit`) + русификация и косметика карточки. Реализация точно соответствует `02-trz.md` и `06-adr/ADR-001-tracker-bump-mode.md`. Все 21 критерий приёмки покрыты; `pytest tests/ -q` — **494 passed**. Документация обновлена в том же PR. Замечаний уровня P0/P1/P2 нет.
|
||||
|
||||
## Проверка по осям
|
||||
|
||||
### 1. Соответствие ТЗ
|
||||
- `Settings.tracker_mode = "edit"` + env `ORCH_TRACKER_MODE` — есть (config.py).
|
||||
- `delete_telegram(message_id) -> bool` — контракт «never raises», `_DELETE_GONE_MARKERS` вынесены в константу, классификация ok/gone/transient/no-creds реализована дословно по ТЗ §3.1.
|
||||
- Ветвление `update_task_tracker`: bump = delete(best-effort) → send(silent) → repoint только при `new_mid is not None`; edit-ветка сохранена без изменений (§3.2). Инварианты bump (≤1 send/вызов, анти-затирание указателя, delete не блокирует send, всегда тихо) соблюдены.
|
||||
- Текстовые правки BR-9..BR-12 (`_BRD_LABEL`→«Подтверждение BRD», ✅ вместо ⏸️ после approve-gate, русские display-labels `_TRACKER_STAGES`, `_done_link`→«Внедрено») — на месте; ключи стадий и имена агентов не тронуты.
|
||||
- БД, API, сигнатуры helpers, зависимости — без изменений (как и требовалось).
|
||||
|
||||
### 2. Соответствие ADR (ADR-001)
|
||||
Реализация соответствует решениям Р-1..Р-6: флаг с дефолтом edit (нулевая регрессия), delete+send+repoint, best-effort delete, repoint только при успешном send, всегда тихий bump, текст в одной точке. Выбран порядок delete-then-send (A3 отклонён обоснованно). Глобальные ADR не нарушены; решение локально для компонента notifications, что зафиксировано в ADR.
|
||||
|
||||
### 3. Качество кода
|
||||
- Defensive-контракты «never raises» соблюдены и в helper, и в `update_task_tracker`.
|
||||
- Docstrings содержательные; логирование (`debug`/`warning`) корректно разнесено по случаям.
|
||||
- Security/утечек нет; новых зависимостей нет.
|
||||
|
||||
### 4. Качество тестов
|
||||
- `tests/test_config.py` (AC-1), `tests/test_tracker_bump.py` (AC-7..AC-14: ордеринг delete→send, delete-fail, send=None, ≤1 send, классификация delete_telegram, never-raises), `tests/test_telegram_tracker.py` (AC-2 garbage→edit, AC-15..AC-18 русификация, регрессия edit).
|
||||
- Существующие англоязычные ассерты обновлены под русские метки и «Подтверждение BRD» (AC-20).
|
||||
- Тесты содержательные, не тривиальные. `pytest tests/ -q` → 494 passed.
|
||||
|
||||
## Findings
|
||||
|
||||
### P0 — Blocker
|
||||
- нет
|
||||
|
||||
### P1 — Must fix
|
||||
- нет
|
||||
|
||||
### P2 — Should fix
|
||||
- нет
|
||||
|
||||
### P3 — Nice to have
|
||||
- [ ] В `_TRACKER_STAGES` строчные комментарии-дубли (`# Анализ` и т.п.) после уже русских меток избыточны — косметика, на поведение не влияет.
|
||||
|
||||
## Документация
|
||||
Обновлена в том же PR, полностью соответствует AC-21:
|
||||
- `CHANGELOG.md` — записи в `[Unreleased] / Added` (bump-режим + `delete_telegram`) и `Changed` (русификация). ✅
|
||||
- `docs/architecture/internals.md` — новая секция «Live Telegram tracker»: режимы edit/bump (таблица), `ORCH_TRACKER_MODE`, контракт `delete_telegram`, текстовые правки. ✅
|
||||
- `.env.example` — `ORCH_TRACKER_MODE=edit` с комментарием. ✅
|
||||
- ADR заведён: `06-adr/ADR-001-tracker-bump-mode.md`. ✅
|
||||
|
||||
Изменения `src/` (config.py, notifications.py) полностью отражены в документации — правило «документация = golden source» выполнено.
|
||||
Reference in New Issue
Block a user