4.1 KiB
4.1 KiB
10 — Технические риски (ORCH-021)
| # | Риск | Вероятн. | Влияние | Митигация |
|---|---|---|---|---|
| R-1 | Монитор self бежит внутри наблюдаемого прода. Полностью wedged прод-контейнер → worker не выполнит тик → деградация не замечена, алерта нет. | Сред. | Высок. | Known MVP limitation (зафиксировано в ADR-001 §Последствия). Health в момент рестарта (хук) + reconciler ловят часть случаев. Внешний независимый watchdog — follow-up (вне рамок). |
| R-2 | Ложный авто-rollback по сетевому глюку. | Низк. | Высок. | Пороги по N ПОСЛЕДОВАТЕЛЬНЫХ провалов + доля 5xx на окне (BR-3/AC-6), а не разовый провал. Self ВСЕГДА ALERT_ONLY (BR-5). auto_rollback=False по умолчанию. |
| R-3 | Авто-rollback прод-орка убивает инструмент всех проектов. | Низк. | Критич. | Структурный инвариант: тик self НИКОГДА не откатывает/рестартит прод-контейнер (AC-8). Self → только alert + ручной approve. Откат self — только detached host-процесс вне тика. |
| R-4 | Нет prev-образа при ROLLBACK → откат невозможен. | Сред. | Сред. | Хук возвращает exit 1 → ROLLBACK_FAILED + громкий алерт (AC-9), деградация не проглатывается тихо. |
| R-5 | Дубль/потеря наблюдения при двойном webhook / рестарте. | Сред. | Сред. | Идемпотентность: sentinel armed (арм-гард) + done (защита от повторной обработки) + restart-safe jobs-очередь + series (AC-15). По образцу finalizer. |
| R-6 | Исключение в наблюдении роняет worker / конвейер других проектов. | Низк. | Высок. | Контракт never-raise во всём post_deploy.py и run_post_deploy_monitor (AC-16), по образцу self_deploy/staging_verdict. |
| R-7 | Тик занимает single-worker (max_concurrency=1) → задержка других задач. |
Низк. | Низк. | Опрос короткий (~секунды), между тиками job не выполняется (defer через available_at_delay_s) — worker свободен, как у finalizer. Окно bounded (window_s/interval_s). |
| R-8 | Скрытое изменение контракта (реестры/гейты/exit-коды/схема). | Низк. | Высок. | Инвариант: STAGE_TRANSITIONS/QG_CHECKS/check_deploy_status/terminal-sync/merge-gate/exit-коды/схема БД НЕ меняются (AC-12). Существующие тесты deploy/staging/merge-gate должны остаться зелёными. |
| R-9 | 5xx на /queue//status из-за самого монитора (рекурсивная нагрузка). |
Низк. | Низк. | Интервал post_deploy_interval_s (30с) — низкая частота; опрос лёгкий GET. |
| R-10 | Артефакт 16-post-deploy-log.md не пишется / невалиден → петля уроков без данных. |
Низк. | Низк. | Best-effort запись с валидным frontmatter (AC-13); отсутствие файла ничего не роняет. Парсинг — defensive. |
Эскалация
- Изменение помечено
arch:major-change(новая под-компонентаsrc/post_deploy.py- новый reserved-agent job-kind
post-deploy-monitor).
- новый reserved-agent job-kind
- R-1 (gap наблюдения для wedged self-контейнера) — кандидат на отдельную задачу (внешний watchdog), вне рамок ORCH-021.