# Phase 9 공용 주소 검색 리뷰 ## 1. 리뷰 정보 | 항목 | 내용 | |---|---| | 리뷰 대상 | Phase 9 / `P9-T1`~`P9-GATE` 코드·정적 범위 | | 기준 commit 또는 working tree | working tree | | 리뷰 일자 | 2026-10-07 | | 리뷰어 | Oracle 2회 교차 검토, 세션 검증 근거 기반 문서 정리 | | 기준 문서 | `prd.md`, `plan-task.md`, Figma `2481:18957`, `2531:36290` | | 리뷰 상태 | 수정 검증 완료, runtime visual gate 미완료 | ## 2. 리뷰 목적과 범위 - 내부 `WKWebView` Kakao 주소 검색 결과가 발신·수신 폼에 안전하게 연결되는지 확인한다. - 우편번호·기본주소 readonly, 상세주소 editable, compact category, gift size 보존과 Figma 문구 구조를 검토한다. - 실제 Kakao 네트워크 동작, 인증 화면 pixel fidelity, keyboard·Dynamic Type·VoiceOver는 실행 환경 부재로 제외한다. ## 3. 검토한 근거 | 검증 | 결과와 근거 | |---|---| | `bash work/tests/check-gift-address-search.sh` | size source 보존, bridge/lifecycle/UI 계약, payload 15 assertions 성공 | | recipient·received·decoding·deep-link 회귀 | recipient 266 assertions 및 관련 검사 성공 | | Swift/shell parse, project lint, `git diff --check` | 성공 | | `SodaLive-dev`, `SodaLive` generic iOS Debug build | 각각 `BUILD SUCCEEDED` | | 기능 독립 재리뷰 | `APPROVE`, 차단 결함 없음 | | Figma 구조·CJK 정적 재리뷰 | `APPROVE_STATIC`, source 문구·구조 충족 | ## 4. 발견 사항 요약 | ID | 심각도 | 상태 | 제목 | 소유 Task | |---|---|---|---|---| | `REV-P9-001` | Medium | 수정 완료 | 다른 기본 주소 선택 후 이전 상세주소가 남음 | `P9-T3` | | `REV-P9-002` | Medium | 수정 완료 | Figma 개별 주소 라벨과 `주소 검색` 문구 누락 | `P9-T3` | `REV-P9-001`은 기존 postcode/base 쌍과 새 결과가 다를 때 상세주소를 대입 전에 초기화하도록 수정했다. 동일 주소 재선택은 유지하고 취소는 값을 변경하지 않는다. `REV-P9-002`는 `우편번호`, `주소`, `상세주소` 가시 라벨과 `주소 검색` 버튼·접근성 문구를 적용했다. 두 항목 모두 source contract의 의도한 RED 후 GREEN을 확인했다. ## 5. plan·goal 전환 두 확정 항목을 구현 전에 `plan-task.md`의 `P9-T3`로 전환했고 최소 수정과 focused RED/GREEN, 전체 Phase gate를 완료했다. 관련 없는 bridge, category, gift size 로직은 변경하지 않았다. ## 6. 리뷰 종료 판정 | 판정 항목 | 결과 | 근거 | |---|---|---| | 확정 결함 수정 | 충족 | `P9-T3` 및 focused RED/GREEN | | 회귀·정적 검사·양 스킴 build | 충족 | §3 실행 결과 | | 기능 독립 재리뷰 | 충족 | `APPROVE` | | Figma 구조 정적 검토 | 충족 | `APPROVE_STATIC` | | 실제 Kakao·인증 화면 visual/accessibility QA | 미충족 | 부팅된 인증 실행 환경과 fresh screenshot 부재 | **최종 결론:** Phase 9 코드·정적 gate와 수정 검증은 완료했다. 실제 Kakao 검색 및 인증 화면의 pixel·keyboard·Dynamic Type·VoiceOver gate는 실행 환경 확보 후 재개한다.