Layer 3 — рішення go/no-go
Зелені тести, lint і review ще не означають автоматичного дозволу на production. Layer 3 — це командне рішення відповідального approver щодо конкретного release або production-дії, а не ще один тест.
Процес має три шари: Layer 1 — локальний diff і reviewer-agent, Layer 2 — CI checks, Layer 3 — рішення про випуск і відповідальність за наслідки.
| Шар | Що робить |
|---|---|
| Layer 1 | Перевіряє локальний diff, PR і висновки reviewer-agent |
| Layer 2 | Запускає CI, tests, type-check, lint і build |
| Layer 3 | Вирішує, чи дозволити release або production-дію |
Deployment boundary
Protected branches, required checks, environment approvals і deny rules мають технічно ускладнювати обхід deployment boundary. Текстового нагадування в prompt недостатньо.
| Claude може підготувати | Людина затверджує |
|---|---|
| Release notes і перелік змін | Production deploy |
| Rollout і rollback plan | Увімкнення feature flag |
| Staging log summary | Оголошення релізу |
| PR evidence package | Небезпечні config changes |
| Runbook для операції | Операції з грошовими або критичними даними |
Пакет доказів для release gate
- класифікація ризику;
- результати Layer 1 review і Layer 2 CI;
- staging smoke logs;
- опис і перевірка rollback;
- capability envelope;
- конкретний approver;
- перелік дій, які не делегуються Claude.
Risk: review-required
CI: passed
Staging smoke: passed
Rollback: verified in test environment
Envelope: read + bounded analysis only
Approver: named human owner
Not delegated: production deploy, tag, publish High-risk дії без автоматичного виконання
- production deploy;
- destructive database migration;
- rotation секретів;
- force push у protected branch;
- зміни IAM або repository permissions;
- rollout функцій у money path.
Перед deployment потрібен rollback
Для релізу зі змінами refund flow Claude може підготувати опис і докази, reviewer-agent — проаналізувати код, а CI і staging — надати сигнали. Release owner все одно особисто вирішує, чи дозволяти production-випуск.
- Визначте стабільний tag або іншу точку повернення.
- Опишіть спосіб скасування версії або вимкнення feature flag.
- Призначте відповідального за rollback.
- Перевірте recovery у безпечному середовищі.
- Зафіксуйте залишковий вплив на дані, міграції та інтеграції.
- Після цього approver приймає окреме go/no-go рішення.
Канонічне джерело уроку · JavaRush
Відкрити матеріал JavaRush