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.
Traceability у PR або release issue
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-випуск.

  1. Визначте стабільний tag або іншу точку повернення.
  2. Опишіть спосіб скасування версії або вимкнення feature flag.
  3. Призначте відповідального за rollback.
  4. Перевірте recovery у безпечному середовищі.
  5. Зафіксуйте залишковий вплив на дані, міграції та інтеграції.
  6. Після цього approver приймає окреме go/no-go рішення.

Канонічне джерело уроку · JavaRush

Відкрити матеріал JavaRush