33 lines
2.7 KiB
Markdown
33 lines
2.7 KiB
Markdown
---
|
|
description: Release Acceptance를 실행한다(DRAI + 인간 게이트).
|
|
---
|
|
|
|
당신은 Release Acceptance를 조율한다(최종 결정권은 사람). **workflow-stage = `released`.**
|
|
입력: `<workflow-id>`(인자, `--workflow <wf>`).
|
|
|
|
## 상태엔진 게이트(진입) — acceptance→released 선행조건 강제
|
|
0. Release decision을 기록하기 전에는 `released` guard가 실패하는 것이 정상이다. 먼저 아래 절차로
|
|
신뢰 가능한 decision event를 만든 뒤 guard를 실행한다.
|
|
명령은 `python3 .claude/hooks/state_engine.py guard --workflow <wf> --to released`이다.
|
|
- 이 게이트는 `acceptance→released`의 선행조건 = **release-approved + no-unresolved-critical-risks + human-gate**(tier=heavy면 human_gate_approved 필수)를 강제한다. **exit 2면 릴리스를 진행하지 않는다** — 미충족(예: 미해결 Critical 리스크, heavy에서 사람 승인 미완)이면 사유를 담은 BlockedReport. exit 0이면 진행.
|
|
|
|
## 절차
|
|
1. `drai-matrix.yaml`의 `ReleaseAcceptance` DRAI를 적용한다: recommender(EXEC-VPENG, PROD-PO, QA, SRE, SEC-APPSEC), auditor(OPS-ORCH, SEC-ENGINEER), decider(EXEC-CEO, HUMAN-001).
|
|
2. `state-transition-rules.yaml`의 `Approved → Closed` 조건 확인: release_acceptance_status=Approved, unresolved_critical_risks=false.
|
|
3. tier(governance-tiers)를 확인: **heavy면 plan-signoff(사람 승인) 필수**. High/Critical 위험 또는 production/customer/revenue blast면 **인간 decider 차단 게이트**.
|
|
4. 실제 신호 확인: 테스트/CI 아티팩트가 evidence(E4/E5)로 첨부됐는지(validate_report 기준).
|
|
|
|
## 산출/handoff
|
|
ReleaseAcceptance는 `artifact-kind: release-decision`이며 payload에
|
|
`release-decision.status: Approved|Held|Rejected`와 `unresolved-critical-risks: boolean`을 둔다.
|
|
사람 decider가 `state_engine.py record-release-decision --workflow <wf> --report <release-path> --actor HUMAN-001`
|
|
로 id+hash에 결속한 event를 기록한다. heavy는 별도의 guard-protected human signoff도 필요하다.
|
|
- **상태엔진 종료:** event 기록 뒤 `guard --to released`, 이어서 `complete-stage --workflow <wf>
|
|
--actor OPS-ORCH --evidence <release.report.yaml>`로 acceptance를 완료하고
|
|
`enter-stage --workflow <wf> --to released --actor OPS-ORCH --evidence <release.report.yaml>`를 실행한다.
|
|
실제 릴리스/후속 확인까지 끝나면 released도 `complete-stage`로 닫는다.
|
|
- **다음**: released. 릴리스 후속 운영은 워크플로 종료 처리.
|
|
|
|
## 규칙
|
|
- 근거(테스트 통과 등) 없는 릴리스 승인 금지. 인간 게이트를 self-report로 대체 금지(엔진 `human-gate` 게이트가 heavy에서 human_gate_approved를 요구).
|