Files
orchestrator/docs/work-items/ORCH-071/10-tech-risks.md
claude-bot f305dc2584
All checks were successful
CI / test (push) Successful in 20s
architect(ET): auto-commit from architect run_id=354
2026-06-08 08:13:44 +00:00

4.3 KiB
Raw Blame History

10 — Технические риски (ORCH-071)

ID Риск Вероятность / Влияние Митигация
R-1 Гонка merge с рестартом прода (постмортем-урок №3): merge в Phase B убивается рестартом → снова фантом. Средняя / Критич. Merge вынесен в Phase C finalizer (restart-surviving, новый контейнер ПОСЛЕ рестарта). Merge физически строго после рестарта. Smoke-тест AC-3.
R-2 Обходной путь к done мимо merge-шага (reconciler F-1 / reaper протолкнут deploy → done по зелёному check_deploy_status). Средняя / Критич. Врезка _handle_merge_verify в advance_stage (единственная функция перехода) → гейтит ВСЕ вызывающие пути единообразно.
R-3 Ложный not-merged alert при недоступной Gitea (verify→False) → лишний HOLD. Средняя / Низкое Осознанный fail-closed для done; снимается повтором (re-drive/reconciler) после восстановления Gitea. Alert информативен, не роняет конвейер.
R-4 Дубль-merge / merge-error при re-drive (двойной webhook, reaper-requeue). Средняя / Среднее pr_already_merged ПЕРЕД merge → no-op повтор (INV-5/AC-9). Ложного БАГ-8 отката нет (merge-verify не откатывает).
R-5 Прямой/force push в main случайно. Низкая / Критич. Merge ТОЛЬКО через Gitea PR-merge API (merge_pr); код не делает git push origin main. INV-4/AC-8, ревью.
R-6 Verify/merge роняет прод-контейнер (self-hosting). Низкая / Критич. merge_pr/verify — только API + read-only git в worktree; никаких docker/restart 8500. INV-2/AC-8.
R-7 Регрессия non-self деплоя (enduro-trails). Низкая / Среднее Условность merge_verify_applies (пусто→self-hosting); non-self — no-op, merge остаётся за deployer. AC-4b.
R-8 HOLD-залипание: not-merged → Blocked, никто не вмешался → задача вечно не done. Средняя / Среднее Alert (Telegram+Plane) + Plane Blocked (видимый сигнал). Реакция ALERT-only осознанна (not-merged — инфра-дефект, авто-откат запрещён FR-3). Runbook G4 для быстрой локализации.
R-9 Validated SHA рассинхронизирован (verify проверяет не тот коммит). Низкая / Среднее Единый якорь validated_revision (git rev-parse HEAD worktree) — тот же, что у image-freshness ORCH-058.
R-10 Exception из verify валит finalizer/advance_stage. Низкая / Высокое never-raise контракт на всех публичных хелперах + обёртка _handle_merge_verify. AC-7.
R-11 Merge ветки, чей deploy FAILED (если бы merge был до verify статуса). — / — Merge выполняется на ребре deploy → done, достигаемом ТОЛЬКО при deploy_status: SUCCESS. FAILED → БАГ-8 откат ДО merge-шага (merge не вызывается).

Открытые вопросы / follow-up

  • Merge-style (merge / rebase / squash) в Gitea API — зафиксировать тот же стиль, что использовал агент deployer (по умолчанию merge), чтобы не менять историю main.
  • Восстановление текущего main (долив 022/059/066/068) — ОТДЕЛЬНАЯ ветка integ/restore-main-2026-06-08, вне scope ORCH-071.
  • Полный авто-деплой (ORCH-54) — merge-verify совместим, но INV-3 (ручной approve) на старте сохраняется.