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