bibimbap/.atp/work-session/20260629-100849/implementation/ownership.md

3.1 KiB

phase agent agent_version generated_at
implementation implementation-advisor 1 2026-06-29T10:30:00+09:00

파일 소유권 맵 — W3-1 게임 태그 + 검색 확장

설계: .atp/work-session/20260623-104307/implementation/W3-1-tags-search-design.md concern 해소안(orchestrator 확정): TAG_MANAGE 미도입(CONTENT_MODERATE 재사용) / GameTagsMapper AND·OR 분리 / existsRecentView sinceTs 인자 제거 / GameData nullable 박스필드.

Wave 1 (병렬, 파일 충돌 0 — 신규 인터페이스·POJO·스키마·JSP)

파일 담당 worker worker id 변경 U-* 의존
docs/tag-ddl.sql code-writer w-001 create U-TAG-SCHEMA -
db/schema.sql code-writer w-001 modify U-TAG-SCHEMA -
data/TagData.java code-writer w-002 create U-TAG-DOMAIN -
mapper/TagsMapper.java code-writer w-002 create U-TAG-DOMAIN TagData
mapper/GameTagsMapper.java code-writer w-002 create U-TAG-DOMAIN TagData
mapper/JamTagsMapper.java code-writer w-002 create U-TAG-DOMAIN TagData
mapper/GameViewsMapper.java code-writer w-003 create U-VIEW -
controller/api/GameController.java code-writer w-003 modify U-VIEW GameViewsMapper
util/TagSanitizer.java code-writer w-004 create U-TAG-ADMIN -
resources/banned-words.txt code-writer w-004 create U-TAG-ADMIN -
webapp/WEB-INF/views/index.jsp code-writer w-005 modify U-JSP -

Wave 2 (Wave1 인터페이스 타입 확정 후 — 컨트롤러·검색쿼리)

파일 담당 worker worker id 변경 U-* 의존
data/GameData.java code-writer w-006 modify U-SEARCH -
data/SearchCriteria.java code-writer w-006 create U-SEARCH -
mapper/GamesMapper.java code-writer w-006 modify U-SEARCH SearchCriteria, GameData
controller/SearchController.java code-writer w-006 create U-SEARCH GamesMapper, GameTagsMapper, TagsMapper, SearchCriteria, TagSanitizer
controller/TagController.java code-writer w-007 create U-TAG-ADMIN TagsMapper, GameTagsMapper, TagSanitizer, PermissionGate, CsrfTokens

Wave 3 (테스트 — 구현 산출물)

파일 담당 worker worker id 변경 의존
test/.../BibimbapApplicationTests.java code-writer w-008 modify 신규 매퍼 4종 @MockBean
test/.../util/TagSanitizerTest.java code-writer w-008 create TagSanitizer
test/.../controller/TagControllerTest.java code-writer w-009 create TagController
test/.../controller/SearchControllerTest.java code-writer w-009 create SearchController

불변식 점검

  • 동일 파일 1 worker only: 충족(GameData=w-006, GamesMapper=w-006, GameController=w-003 단일).
  • 의존 있는 파일 병렬 금지: Wave 분리(인터페이스→소비자→테스트). Wave 내 파일은 상호 독립 또는 동일 worker.
  • 스키마: U-TAG-SCHEMA 격리(code-writer; migration-writer 는 ORM 마이그레이션 전용이나 본 프로젝트는 raw SQL DDL → code-writer 로 처리, DB 적용 금지).