--- phase: implementation agent: implementation-advisor agent_version: 1 generated_at: 2026-06-29T14:21:15Z --- # 파일 소유권 맵 — W4 배지 표시면 배선 | 파일 | 담당 worker | worker id | 변경 유형 | 의존 | |---|---|---|---|---| | src/main/java/com/pandoli365/bibimbap/controller/WebMvcController.java | code-writer | w-001 | modify | - | | src/main/java/com/pandoli365/bibimbap/controller/SearchController.java | code-writer | w-002 | modify | - | | src/main/webapp/WEB-INF/views/index.jsp | code-writer | w-003 | modify | w-001,w-002 (model attr 추가 후 JSP 소비) | | src/test/java/com/pandoli365/bibimbap/controller/WebMvcControllerTest.java | code-writer | w-004 | modify | w-001 | | src/test/java/com/pandoli365/bibimbap/controller/SearchControllerTest.java | code-writer | w-005 | modify | w-002 | ## 비고 - w-003(index.jsp)은 w-001/w-002가 `creatorBadges` attr을 주입한 뒤 소비하므로 논리적 의존이 있으나, JSP는 런타임 렌더이므로 컴파일 의존 없음 — 병렬 spawn 허용. - w-004/w-005(테스트)는 생성자 시그니처 변경(w-001/w-002)에 의존하므로 병렬 spawn 시 각 worker가 신규 시그니처를 설계 문서 기준으로 작성. - BibimbapApplicationTests는 이미 UserBadgesQueryMapper @MockBean 보유 → 무변경. ## 실행 결과 (planned 5 = actual 5, advisor 직접 실행 없음) - 5개 worker 전원 spawn·완료. 1파일=1worker 불변식 준수, 충돌 0. - worker 공통 우려(GameData.getUserId():Long / setUserId(Long) 존재 가정) → advisor 직접 확인: GameData.java L8/L32/L36 에 `private Long userId` + getter/setter 존재. UserBadgeKeyRow.setUserId(Long)/setBadgeKey(String) 도 존재 → 우려 해소. - 컴파일 게이트: `./mvnw -o clean test-compile -DskipTests` → BUILD SUCCESS, [ERROR] 0건. 비-deprecation WARNING 0건(잔존 WARNING 전량 기존 BibimbapApplicationTests 의 @MockBean deprecation, 본 변경 무관).