--- name: verify description: 앱 변경의 요구사항 충족, 회귀 위험과 코드 품질을 테스트·실행 근거와 함께 검증한다. 코드 리뷰, 구현 완료 확인, 릴리스 전 점검을 요청하거나 개발 흐름에서 완료 판단이 필요할 때 사용한다. 독립적인 리뷰 요청은 수정 없이 발견 사항을 전달한다. --- # 변경 검증과 코드 리뷰 요구사항·완료 조건, 변경 내용, 프로젝트 규칙과 기존 검증 결과를 받는다. 명세·작업 목록이 있거나 변경 영향이 복잡하면 [검증·리뷰 판단 기준](references/verification.md)을 읽는다. 독립적인 리뷰 요청은 리뷰 범위로 수행한다. 구현까지 맡긴 흐름에서는 필요한 수정을 구현 단계로 돌려보낼 수 있다. 프로젝트가 채택한 TDD 범위·필수 검사·테스트 비율·커버리지 목표가 있다면 적용 범위와 측정 근거를 확인한다. 명시적 기준을 가벼운 기본안으로 낮추거나 없는 수치를 만들지 않는다. 이번 완료 판단에 필요한 정책이 미정이면 이를 드러내고, 아직 시점이 오지 않은 연기·해당 없음은 검증 실패와 구분한다. ## 검증 - 변경한 코드뿐 아니라 실제 호출자와 데이터 흐름을 필요한 범위에서 확인한다. 동작을 바꾸는 버그, 계약 불일치와 회귀를 우선한다. - 사용자 시나리오와 완료 조건을 각각 구현·테스트·실행 결과에 연결한다. 완결성·동작·일관성을 구분해 확인하고, 테스트 통과만으로 요구사항 충족을 단정하지 않는다. - 삭제는 제거 대상 동작이 없어졌는지, 이름만 변경하는 경우는 기존 동작이 유지되는지 확인한다. 확인할 기존 동작을 모르면 미검증으로 남기고 삭제한 기능의 재구현을 요구하지 않는다. - 프로젝트에서 요구하는 검사를 실행하고 변경 위험에 맞는 검증을 더한다. UI 변경은 관련 화면 상태·상호작용·접근성을, API·데이터 변경은 관련 권한·오류·전환 동작을 확인한다. - 새 의존성·불필요한 계층·중복·관련 없는 변경이 있는지 확인한다. 단순한 코드로 만들기 위해 필요한 보안·오류 처리·접근성을 제거하지 않는다. - 사용자 데이터나 운영 서비스에 영향을 주는 검증은 적절한 테스트 환경·데이터와 실행 권한 안에서 수행한다. 테스트를 위해 확인되지 않은 운영 환경을 사용하지 않는다. 이미 같은 입력·코드 버전에 대해 충분히 수행한 검증은 근거를 재사용한다. 관련 코드·설정·요구사항이 바뀌면 영향을 받는 결과를 다시 확인한다. 성공으로 보고할 범위와 실제 근거를 대조한다. 린트 성공·빌드 성공·테스트 성공·원래 버그 재현 해소는 각각 구분하고, 일부 검사 결과를 전체 성공으로 확대하지 않는다. 실패가 드러나면 원인·재현·가설·수정·회귀 확인을 구현 단계에 전달한다. ## 결과와 완료 판단 각 완료 조건을 `통과 / 실패 / 미검증`으로 구분하고 근거를 연결한다. 발견 사항은 구체적인 발생 조건·잘못된 결과·영향·관련 위치와 수정 방향을 제시한다. 근거 없는 우려를 결함으로 단정하거나 취향만 다른 제안을 필수 수정으로 분류하지 않는다. 수정 후 영향을 받는 검증을 다시 확인한다. 환경·권한·외부 서비스 때문에 필수 검증이 불가능하면 차단 조건과 가능한 대체 근거를 남긴다. 리뷰에서 문제를 찾지 못한 것과 실행 검증이 완료된 것을 구분한다. 요청 범위의 완료 조건이 충족되었는지, 남은 문제가 릴리스에 어떤 영향을 주는지 전달한다. 리뷰만 요청받았다면 발견 사항과 검증 한계를 전달하고 마무리한다.