bibimbap/.atp/work-session/20260624-100749/implementation/ownership.md

44 lines
2.9 KiB
Markdown

---
phase: implementation
agent: implementation-advisor
agent_version: 1
generated_at: 2026-06-24T13:10:00+09:00
workstream: W2-6-시상 집계/결과
planned_workers: 12
actual_workers: 9
supersedes: W2-5-인기투표 (이전 workstream — 아래는 W2-6 활성 맵)
detail: ./W2-6-ownership.md
---
> 활성 workstream = W2-6 시상 집계. 상세 파일 소유권 맵은 `W2-6-ownership.md`.
> planned 12 → actual 9 (의존 코어 6파일 advisor 직접 — 사유 W2-6-impl.md §설계와의 차이).
# 파일 소유권 맵 (W2-5 인기투표)
> 설계 권위: `.atp/work-session/20260623-104307/implementation/W2-5-popular-vote-design.md` §파일영향맵.
> 의존 순서: V-MAPPER(시그니처 확정) → V-CONTROLLER(매퍼 시그니처 소비) → {V-VIEW, V-TEST-CTX, V-TEST-CTRL}(컨트롤러/매퍼 확정 후, 서로 독립 병렬).
> 신규 DDL 0건(W2-3 jam_votes 동결 소비 — schema.sql/docs/*-ddl.sql 무수정 → migration-writer 불요).
| 파일 | 담당 worker | worker id | 변경 유형 | 의존 |
|---|---|---|---|---|
| `src/main/java/com/pandoli365/bibimbap/mapper/JamVotesMapper.java` | code-writer | w-001 | create | - |
| `src/main/java/com/pandoli365/bibimbap/controller/JamVoteController.java` | code-writer | w-002 | create | w-001 (매퍼 시그니처) |
| `src/main/webapp/WEB-INF/views/jam-detail.jsp` | code-writer | w-003 | modify | w-002 (응답 키/액션 path) |
| `src/test/java/com/pandoli365/bibimbap/BibimbapApplicationTests.java` | code-writer | w-004 | modify | w-001 (매퍼 타입) |
| `src/test/java/com/pandoli365/bibimbap/controller/JamVoteControllerTest.java` | code-writer | w-005 | create | w-002 (컨트롤러 시그니처) |
## 배치 계획
- 배치1 (순차 선행): w-001 V-MAPPER — 1 worker
- 배치2 (순차): w-002 V-CONTROLLER — 1 worker (매퍼 시그니처 의존)
- 배치3 (병렬): w-003 V-VIEW + w-004 V-TEST-CTX + w-005 V-TEST-CTRL — 3 worker 동시 (서로 독립 파일, 컨트롤러/매퍼 확정 후)
## 불변식 점검
- 동일 파일 1 worker only — PASS (5파일, 1:1).
- 의존 병렬 금지 — 배치 간 순차(1→2→3), 배치3 내부 3파일 상호 독립이라 병렬 안전. PASS.
- 스키마/마이그레이션 0 → migration-writer 불요. PASS.
- §33 인용 alias: V-MAPPER 의 listCountsByJam 은 List<Map<String,Object>> 집계(GROUP BY COUNT) → Map resultType → 큰따옴표 인용 필수(JamScoreStatsMapper 선례). 설계 concern 3("큰따옴표 불요")과 충돌하나 누적 교훈 §33 + 작업 지시 ★1 우선 — report.md "설계와의 차이"에 기록.
## planned 5 vs actual 5
- 전 파일 worker 위임. advisor 직접 처리 0건.
- 사유: 매퍼(SQL alias/UPSERT 정밀)·컨트롤러(2상태변경+2조회 4핸들러, 게이트 6단·노출 게이트)·JSP(투표 폼+결과 은닉 분기)·테스트(VP 전수 15+케이스)·@MockBean modify 모두 정밀·독립 작업. 단일 파일 자잘 편집(직접 임계) 미만 아님.