Files
orchestrator/docs/work-items/ORCH-058/10-tech-risks.md
claude-bot dbc32fc106
All checks were successful
CI / test (push) Successful in 16s
architect(ET): auto-commit from architect run_id=263
2026-06-07 07:27:38 +00:00

3.8 KiB
Raw Blame History

Технические риски — ORCH-058

Work Item ID: ORCH-058

ID Риск Вероятность / Влияние Митигация
R-1 Полу-конфигурация «B без A» → вечный fail-fast деплоя (B падает, никто не пересобирает) Низк. / Высок. (deadlock, BR-5) Единый kill-switch image_freshness_enabled включает/выключает A и B как целое; раздельных флагов A/B нет. Дефолт — оба включены. AC-6.
R-2 Рассинхрон якоря: merge-gate делает rebase ПОСЛЕ того, как агент прогнал staging_check → HEAD изменился Сред. / Сред. Якорь берётся ПОСЛЕ merge-gate; шаг A пересобирает из post-rebase HEAD; авторитетный staging_check — против свежего образа. Pre-check агента — soft.
R-3 Гонка: между пересборкой A и Phase B human-approve worktree HEAD сместился Низк. / Высок. B сверяет лейбл образа с EXPECTED_REVISION=validated_revision на момент Phase B; рассинхрон → fail-closed exit 1, прод не трогается. AC-2/AC-3.
R-4 Пустой лейбл (ручная/legacy/CI-сборка без --build-arg GIT_SHA) Сред. / Высок. Fail-closed: пустой лейбл → несоответствие → exit 1. By design. Шаг A всегда передаёт GIT_SHA. IR-3 фиксирует требование к любым сборкам.
R-5 Латентность ребра: +docker build staging +recreate +повторный staging_check перед approve Высок. / Низк. Bounded timeouts; выполняется в monitor-треде (как merge-gate re-test). staging_check --mode stub без LLM-трат. Приемлемо.
R-6 Сборка/recreate случайно затронет прод (8500) Низк. / Критич. Режим хука --build-staging со STAGING-safe дефолтами (8501, --profile staging); код шага A никогда не передаёт прод-параметры. AC-9. Тест-инвариант: цель != прод.
R-7 docker build на хосте падает (нет места, недоступен daemon, битый worktree) Низк. / Сред. never-raise: check_staging_image_fresh(False, reason) + release lease → откат на development (не зависание, не тихий промоут). AC-8.
R-8 Двойной staging_check воспринят как баг/лишняя трата Сред. / Низк. Документировано как намеренное (soft pre-check агента vs авторитетный код против промоутимого образа). Будущая оптимизация — облегчить шаг A.
R-9 Самохостинг-bootstrap: фича не действует, пока сама не в проде (старый прод-образ без лейбла) Высок. (однократно) / Сред. Bootstrap-чеклист (IR-7): первый реальный staging-прогон + ручной разрыв; B обратносовместим (без EXPECTED_REVISION — старое поведение), раскат поэтапный через флаг.
R-10 Деградация не-self репо Низк. / Высок. Условность (image_freshness_repos пусто → только orchestrator); для прочих — (True, "N/A") + хук без EXPECTED_REVISION = прежний путь. AC-5.