# Phase 8 팔로잉 크리에이터 전체 버튼 리뷰 ## 1. 리뷰 정보 | 항목 | 내용 | |---|---| | 리뷰 대상 | Phase 8 / Task 8.1~8.4 | | 기준 commit 또는 working tree | `f600d10e8b63b6fdc812b18a874b077dfe072ca8` + 2026-07-31 working tree | | 리뷰 일자 | 2026-07-31 | | 리뷰어 | Codex | | 기준 문서 | 대상 `prd.md`, `plan-task.md` | | 리뷰 상태 | 수정 검증 완료 | ## 2. 리뷰 목적과 범위 ### 목적 - creator가 있을 때 마지막 `전체` item을 추가하고 기존 목록 화면으로 이동하는 계약을 확인한다. ### 포함 범위 - `HomeFollowingCreatorAdapter.kt`, `item_home_following_creator_all.xml`, `HomeMainFragment.openFollowingCreatorAll()`, source test. ### 제외 범위 - `FollowingCreatorActivity` 내부 동작과 creator API pagination. ## 3. 판정 기준 - item count/view type/layout token/공통 로그인 접근 경로를 대조했다. ## 4. 검토한 근거 - `HomeFollowingCreatorAdapter.kt:18-45`, `61-73` - `item_home_following_creator_all.xml:2-28` - `HomeMainFragment.kt:115-118`, `689-693` - `HomeFollowingFragmentSourceTest.kt:304-334` ### 실행한 검증 | 명령 | 결과 | 핵심 증거 | |---|---|---| | `HomeFollowingFragmentSourceTest` | 성공 | 16개 테스트 실패 0 | | 팔로잉 전체 회귀 | 성공 | 39개 테스트 실패 0 | | resource/compile/ktlint/diff | 성공 | 모두 PASS | ## 5. 발견 사항 요약 | ID | 심각도 | 상태 | 제목 | 소유 Task | 후속 goal | |---|---|---|---|---|---| | `REV-P8-001` | Low | 수정 완료 | `전체` item 테스트가 금지된 UI 표현 속성을 source 문자열로 검증함 | Task 8.4 | `P8-R1` 완료 | ## 6. 발견 사항 상세 creator가 비어 있으면 all item도 숨고, 1개 이상이면 마지막 view type으로 추가된다. layout width/높이 spacer/padding/color와 로그인 가드 경로도 요구사항과 일치한다. ### REV-P8-001 — `전체` item 테스트가 UI 표현 속성 정책을 위반함 - **심각도:** Low - **상태:** 수정 완료 - **관련 요구사항:** `docs/agent-guides/code-style.md` 테스트 관례 - **소유 Task:** Task 8.4 **관찰 내용** `following creators list appends all button as last item` 테스트는 adapter의 view type/item count/route 검증과 함께 XML의 width, height, padding, text color, visibility를 직접 assertion한다. 이 테스트는 UI 크기·padding·visibility 테스트 금지 규칙이 추가된 뒤 생성되었다. **근거** - 테스트: `HomeFollowingFragmentSourceTest.kt:311-341` - 가이드: `docs/agent-guides/code-style.md:42-43` - 이력: 가이드 규칙 `566f76df` 이후 테스트 `658b4f0a` 추가 **영향** 유효한 adapter 로직 검증에 금지된 UI 표현 문자열 검증이 섞여 있어, 단순 디자인/구현 변경도 기능 회귀처럼 실패하고 테스트 정책을 어긴다. **권장 조치** adapter view type·item count·route assertion은 유지하고 UI 표현 속성 assertion만 제거한다. 수정하는 테스트명은 한글화하고 XML 값은 정적 대조·resource merge·Task 5.3 수동 확인으로 검증한다. **판정 기록** - 2026-07-30 — 테스트 추가 시점과 assertion 범위를 현행 가이드와 대조해 확정. - 2026-07-30 — 구현 전 Phase 8 Task 8.4 / `P8-R1`로 전환. - 2026-07-30 — Task 8.4에서 UI 표현 source assertion만 제거하고 adapter item/route 검증을 유지했다. ## 7. 확정 항목의 plan·goal 전환 - Phase 8에 Task 8.4 / `P8-R1`을 추가해 완료했다. ## 8. 리뷰 종료 판정 | 판정 항목 | 결과 | 근거 | |---|---|---| | 리뷰 범위 전체 확인 | 충족 | adapter→layout→route 추적 | | 후보 항목 판정 완료 | 충족 | REV-P8-001 확정 | | 확정 항목 plan 반영 | 충족 | Task 8.4 | | 검증 명령과 결과 기록 | 충족 | focused/통합 PASS | **최종 결론:** 확정 발견 사항 모두 수정 완료 **남은 항목:** 없음 ## 9. 수정 후 검증 기록 - 2026-07-30: Task 8.4로 `전체` item 테스트명을 한글화하고 width/height/padding/visibility/color source assertion만 제거했다. adapter view type, item count, 마지막 item, `FollowingCreatorActivity` route 검증은 유지했다. focused test, 팔로잉 전체 회귀, resource merge, Kotlin compile, ktlint PASS. - 2026-07-31 재점검: creator all item/route를 포함한 Phase 1~13 focused 113개 test, resource merge, Kotlin compile, ktlint PASS. 추가 확정 발견 사항 없음. - 2026-07-31 최종 검증: creator 전체 item·route 회귀를 포함한 통합 20개 suite·306개 test와 resource merge, Kotlin compile, ktlint가 PASS했다. 추가 확정 발견 사항 없음. - 2026-07-31 이번 리뷰 재검증: creator가 있을 때 마지막 `전체` item 추가와 로그인 가드 이동 경로를 다시 추적했다. 통합 16개 suite·120개 test, resource merge, Kotlin compile, ktlint가 PASS해 추가 확정 발견 사항이 없다.