--- name: code-review description: 코드 변경을 리뷰할 때 사용한다. "코드 리뷰", "변경 검토", "PR 리뷰", "머지 전 점검", "보안 문제 확인", "테스트 약화 확인" 요청과 diff·테스트 결과가 주어진 상황에 적용한다. 심각도를 나눠 근거와 수정안을 제시하고, 확인하지 못한 부분은 Validation Gap으로 남긴다. 일반 문서 교정·번역·기획에는 사용하지 않는다. --- # code-review 변경이 요청 범위에 맞는지, 결함·보안 문제·테스트 약화가 없는지 근거로 확인한다. 결론을 먼저 정하고 근거를 맞추지 않는다. ## 0. 입력 확인 - 변경 범위(diff·파일 목록), 요청 목적, 실행한 테스트와 결과, 관련 이슈·마일스톤. - 없으면 `확인 필요`로 표시하고, 정적 리뷰로 한정한다는 점을 밝힌다. - 리뷰하지 않는 파일·영역을 먼저 적는다. ## 1. 먼저 확인할 것 1. 변경이 요청과 일치하는가. 범위를 넘는 수정이 섞였는가. 2. 실행된 검증이 있는가. 명령과 결과를 확인하고, 없으면 "실행하지 않음"으로 남긴다. 3. 호출자·의존 대상이 바뀌었는가. 같은 원인의 다른 경로도 함께 깨지는가. ## 2. 리뷰 순서 | 순서 | 확인 | |---|---| | 정확성 | 요구 동작, 경계·빈 값·오류 처리, 호출자 영향 | | 보안 | 입력 검증, 인증·권한, 비밀값, 경로·명령 주입, 역직렬화 | | 테스트 | 결함을 잡는가, 약화·삭제되지 않았는가, 실패 후 수정으로 통과하는가 | | 성능 | 불필요한 반복, N+1, 메모리, 타임아웃·재시도 | | 유지보수 | 중복, 이름, 죽은 코드, 설정·플래그, 로그 수준 | | 문서·호환성 | API·스키마 변경, 마이그레이션, 버전·릴리스 노트 | ## 3. 심각도 | 심각도 | 기준 | 처리 | |---|---|---| | 차단 | 보안·데이터 손상·회귀 가능성. 재현 또는 근거가 분명함 | 머지 전 필수 수정 | | 중요 | 조건부 오동작, 테스트 약화, 오류 처리 누락 | 수정 권장. 미수정 시 사유 필요 | | 권장 | 가독성·중복·성능 개선 | 선택 | | 질문 | 의도·범위 확인 필요 | 답변 필요 | ## 4. 근거 형식 - 위치(파일:줄), 문제, 영향, 확인·재현 방법, 최소 수정안을 한 항목으로 묶는다. - 추측은 "가능성"으로 쓰고, 실행하지 않은 확인을 "확인함"으로 쓰지 않는다. - 재현하지 못했으면 그 사실과 이유를 함께 적는다. - 오류 경로는 어떤 입력·호출에서 어떤 예외가 발생하고 어디서 잡히거나 전파되는지, 호출자에게 보이는 결과와 부작용을 연결해 설명한다. 예외 종류·계층과 계약을 확인하지 못하면 단정하지 않는다. - 수정안과 회귀 테스트는 동일한 조건과 기대 동작을 다뤄야 한다. 잡을 예외의 범위, 반환·전파 여부, 상태 변화와 호출자 계약을 일치시키고 정상 경로 및 관련 경계 사례도 확인한다. 예외를 잡는 수정안에 전파를 기대하는 테스트처럼 서로 모순되면 계약을 확인해 조정한다. 실행하지 않은 테스트는 제안으로 표시한다. ## 5. 금지와 주의 - 테스트 약화, 예외 삼키기, 타임아웃 은폐로 통과시키지 않는다. - 비밀값, 생성물, 포맷만 바꾼 노이즈를 리뷰 항목에 섞지 않는다. - 실행하지 않은 명령의 출력을 성공으로 쓰지 않는다. - 범위 밖 리팩터링은 `권장`으로 분리하고 요청 범위를 넘겨 강요하지 않는다. ## 6. Validation Gap - 실행·확인하지 못한 테스트, 리뷰하지 않은 파일, 환경 제약, 재현하지 못한 결함을 따로 적는다. - 남은 위험이 머지 판단에 영향을 주는지 한 줄로 밝힌다. ## 7. 출력 1. 요약: 차단·중요 건수, 머지 가능 여부(가능 / 조건부 / 불가). 2. 항목 목록: 심각도, 위치, 근거, 수정안. 3. Validation Gap. 4. 리뷰 범위와 확인한 검증 명령. ## 8. 참고 파일 - `references/review-workflow.md`: 리뷰 요청 패킷, 5축 리뷰, 피드백 수용 순서, 품질 기준 약화 신호, 최소 변경 확인 - `references/security.md`: 신뢰 경계·STRIDE·OWASP 점검, 의존성·공급망, LLM 출력 취급