--- name: "review-release" description: "Review and validate SDLC Release document for consistency, completeness, and readiness for approval" argument-hint: "예: sdlc-001 또는 docs/sdlc/sdlc-001_20260417_stage-pilot/6_release.md" agent: "agent" --- SDLC Release 문서를 체계적으로 검토하고, 승인 가능한 상태인지 판단한다. 목표: - `6_release.md` 파일의 일관성 확인 (배포 준비/롤백/스모크 테스트 간 중복 및 충돌) - 기술적 오류, 잘못된 표현, 명확하지 않은 문구 식별 - AI agent에게 할당된 플레이스홀더(`{{...}}`) 중 판단/결정 가능한 항목 처리 - 플레이스홀더 중 사용자 결정이 정말 필요한 항목만 남겼는지 확인 - 최종 승인 가능 상태 판단 --- ## 검토 절차 ### 1. 입력 해석 - 사용자가 제공한 문서 경로 또는 CYCLE_ID에서 `6_release.md` 파일 위치를 확정한다. - 파일이 없으면 입력값을 다시 확인하도록 사용자에게 피드백하고 중단한다. - `5_verification.md`와 `4_implementation.md`도 함께 읽어 인계 내용 정합성 확인에 사용한다. ### 2. 인계 정합성 검토 - 검증 결과 요약이 Verification `# 3` 결과와 일치하는가 - 이월된 오픈 질문이 Verification `# 5`의 `Deferred` 항목과 대응하는가 - 스모크 테스트 항목이 핵심 FR과 연결되는가 ### 3. 일관성 검토 (모든 섹션 대상) - **배포 순서 일관성**: `# 2` 배포 순서가 Implementation `# 3` 변경 파일 목록과 연결되는가 - **롤백 실현 가능성**: `# 3` 롤백 절차가 실제 배포 방식에 맞게 기술되었는가 (git 기반이면 커밋/브랜치/태그 참조, CI/CD 기반이면 파이프라인 롤백 방법 등) - **스모크 테스트 충족성**: `# 4` 스모크 테스트가 핵심 기능을 최소한 커버하는가 - **숫자 연속성**: R-N, OQ-N 번호가 누락 없이 연속인지 확인 ### 4. 표현 검토 (모든 텍스트) - **문법**: 문장 구조, 주술 호응, 시제 일관성 - **명확성**: "필요 시", "대략", "적절히" 같은 모호한 표현 식별 - **작성 수준**: 기술 문서 기준의 형식적 톤 유지 - **오타**: 한글 띄어쓰기, 숫자 오류, 테이블 형식 검증 ### 5. 플레이스홀더 처리 모든 `{{...}}` 플레이스홀더를 나열하고 각 항목의 의도를 파악한다. AI agent가 채울 수 있는 항목: - `{{..._DECISION:...}}` 형태 — 문서 내 다른 섹션이나 저장소 구조로 추론 가능한지 확인 - 배포 방식(`REL_DEPLOY_METHOD`), 스모크 테스트 방법(`REL_SMOKE_METHOD_N`) 등 저장소 구조 기반으로 추론 가능한 항목 사용자 결정이 필요한 항목 (플레이스홀더 유지): - 롤백 담당자(`REL_ROLLBACK_OWNER`) - 배포 대상 환경(`REL_TARGET_ENV`): 실제 운영 환경 정보 - Freeze 확정 담당자(`CONFIRMED_BY`) 각 항목에 대해 아래 중 하나를 판단한다: - **채울 수 있음**: 저장소 구조, 문서 내 맥락으로 합리적 추론 가능 → 실제 내용으로 치환 - **판단 불가능**: 실제 환경 정보, 담당자 지정 필요 → 플레이스홀더 유지하되 명확성 강화 처리 결과를 별도 목록으로 보고한다. ### 6. 섹션별 최소 검수 기준 | 섹션 | 최소 기준 | |------|---------| | `# 0 문서 상태` | 메타데이터 완성도 확인 (CREATED_AT_KST, VER_PATH 채워졌는가) | | `# 1 Verification 인계 요약` | 검증 결과 요약(통과 수/전체 수)이 있는가 | | `# 2 배포 준비` | 배포 환경, 방식, 도구가 명시되었는가, 배포 순서가 1단계 이상인가 | | `# 3 롤백 계획` | 롤백 조건 1개 이상, 롤백 절차 1단계 이상, 롤백 담당자가 있는가 | | `# 4 배포 후 확인` | 스모크 테스트 항목 1개 이상, 각 항목에 확인 방법과 성공 기준이 있는가 | | `# 5 리스크/오픈 질문` | OQ `Open` 상태가 있으면 종료 조건이 명시되었는가 | | `# 6 확인 체크` | 체크 항목이 구체적이고 측정 가능한가 | | `# 8 사용자 결정 필요` | 플레이스홀더가 실제 `{{...}}` 형식인가 | | `# 9 Freeze` | Handoff Decision과 Rationale이 채워졌는가 | ### 7. 최종 승인 판단 - **승인 가능 (Ready for Operations)**: - 배포 준비(환경/방식/순서)가 명확히 정의되었는가 - 롤백 조건, 절차, 담당자가 모두 명시되었는가 - 스모크 테스트 항목이 최소 1개 이상이고 성공 기준이 구체적인가 - `# 5` 오픈 질문에 `Open` 상태 항목이 없거나 모두 `Deferred` 처리 완료인가 - Freeze 플래그가 준비되었는가 (`READY_FOR_OPERATIONS: true`로 변경 가능한가) - **조건부 (Pending Minor Changes)**: - 일부 배포 방식 설명이 모호하거나 스모크 테스트 성공 기준 보완 필요 - **보류 (Hold)**: - 롤백 계획 없음, 배포 순서 불명확, 스모크 테스트 항목 누락 등 근본적 재검토 필요 --- ## 응답 형식 - **검토 결과 요약** - Verification 인계 정합성 오류 (있으면 나열) - 발견된 일관성 오류 (있으면 나열) - 표현/문법 오류 (있으면 나열) - 섹션별 완성도 (예: `# 3` 롤백 담당자 미지정) - **플레이스홀더 처리 결과** - 채워진 항목 (예: `{{REL_DEPLOY_METHOD}}` → `git push (자동 배포 없음)` 로 치환) - 유지된 항목 (예: `{{REL_ROLLBACK_OWNER:TBD}}` → 담당자 지정 필요로 유지) - **수정 사항 목록** (적용된 변경) - **최종 판단** - 승인 가능 / 조건부 / 보류 - 근거 및 남은 작업 사항