3.6 KiB
type, work_item_id, verdict, version
| type | work_item_id | verdict | version |
|---|---|---|---|
| review | ORCH-071 | REQUEST_CHANGES | 1 |
Review ORCH-071
Summary
Фикс «фантомного merge» реализован архитектурно корректно и полно: детерминированный
merge-актор + пост-деплой верификация как под-гейт ребра deploy → done, врезка
_handle_merge_verify в единственную точку перехода advance_stage (гейтит все пути —
finalizer Phase C, reconciler F-1, job-reaper), merge выполняется в restart-surviving
Phase C (G3), kill-switch и условность раската по образцу ORCH-35/43/58. Все FR-1..FR-5 и
AC-1..AC-11 покрыты содержательными тестами; pytest tests/ -q зелёный (853 passed).
Код соответствует ADR-001 (D1–D9) и глобальному adr-0013, never-raise контракты соблюдены,
INV-4 (только PR-merge API, без push/force-push) выдержан.
Единственный блокер — документация: CHANGELOG.md НЕ обновлён, хотя задача меняет
src/. По CLAUDE.md §6 и AC-5 это обязательно → REQUEST_CHANGES.
Findings
P0 — Blocker
CHANGELOG.mdне обновлён при измененииsrc/. Измененыsrc/config.py,src/main.py,src/merge_gate.py,src/self_deploy.py,src/stage_engine.py, но вCHANGELOG.mdнет ни одной записи про ORCH-071 (grep -c "ORCH-071" CHANGELOG.md→ 0,git diff main...HEAD -- CHANGELOG.mdпуст). Это прямое нарушение CLAUDE.md §2/§6 («Документация = golden source… обновиCHANGELOG.md») и AC-5 (PASS требует обновлённый CHANGELOG; FAIL → reviewer REQUEST_CHANGES). Требуется: добавить запись в раздел## [Unreleased] → ### Added/Fixedпо образцу соседних задач (ORCH-022 и т.п.), описывающую merge-verify под-гейт, merge-актор, пост-деплой верификацию и kill-switch.
P1 — Must fix
- (нет)
P2 — Should fix
- (нет;
.openclaw/agents/deployer.mdпро self-hosting не уточнён, но TRZ §1 помечает это как «возможное» изменение, а non-self путь по ADR не меняется — не блокер.)
Документация
docs/architecture/README.md— ✅ обновлён: добавлен раздел «Merge-в-main + пост-деплой верификация как условиеdone(ORCH-071)», точно описывает врезку, Phase C, merge-актор, верификатор, условность и инварианты.docs/architecture/adr/adr-0013-merge-verify-gate.md— ✅ создан (global ADR), корректен.docs/work-items/ORCH-071/06-adr/ADR-001-merge-verify-gate.md— ✅ детальный ADR (D1–D9).docs/operations/PHANTOM_MERGE_RUNBOOK.md— ✅ создан, 4 проверки постмортема с copy-paste командами + критерий «фантом подтверждён» + remediation (FR-4/D9).CHANGELOG.md— ❌ НЕ обновлён. ← блокер (P0 выше).
После добавления записи в CHANGELOG.md (и при сохранении зелёного pytest) задача готова к
повторному ревью и APPROVED.