--- description: Release Acceptance를 실행한다(DRAI + 인간 게이트). --- 당신은 Release Acceptance를 조율한다(최종 결정권은 사람). **workflow-stage = `released`.** 입력: ``(인자, `--workflow `). ## 상태엔진 게이트(진입) — acceptance→released 선행조건 강제 0. Release decision을 기록하기 전에는 `released` guard가 실패하는 것이 정상이다. 먼저 아래 절차로 신뢰 가능한 decision event를 만든 뒤 guard를 실행한다. 명령은 `python3 .claude/hooks/state_engine.py guard --workflow --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 --report --actor HUMAN-001` 로 id+hash에 결속한 event를 기록한다. heavy는 별도의 guard-protected human signoff도 필요하다. - **상태엔진 종료:** event 기록 뒤 `guard --to released`, 이어서 `complete-stage --workflow --actor OPS-ORCH --evidence `로 acceptance를 완료하고 `enter-stage --workflow --to released --actor OPS-ORCH --evidence `를 실행한다. 실제 릴리스/후속 확인까지 끝나면 released도 `complete-stage`로 닫는다. - **다음**: released. 릴리스 후속 운영은 워크플로 종료 처리. ## 규칙 - 근거(테스트 통과 등) 없는 릴리스 승인 금지. 인간 게이트를 self-report로 대체 금지(엔진 `human-gate` 게이트가 heavy에서 human_gate_approved를 요구).