← 자료실/sprintsLOW

Sprint 01 W1 TodoWrite 사전 구체화 (킥오프 즉시 복사용)

sprints/sprint-01-w1-todowrite-preload.md

Sprint 01 W1 TodoWrite 사전 구체화 (킥오프 즉시 복사용)

작성: 2026-04-21 (Sp00 D+2 버퍼) · 메인 세션 오케스트레이터 대상: Sp01 킥오프 2026-05-04 (월) 09:00 · 복사 대상: Claude Code TodoWrite 도구 근거: sprints/sprint-01-dry-run-2026-04-21.md v1.0 §1~§6 + §0.3 사전 완화 A1~A3 + R-DR-01~03

목적

Sp01 킥오프 당일 09:00 작업 시작 시점에 TodoWrite 도구에 즉시 복붙 가능한 15건 리스트 + R-DR-01~03 인라인 가드. 드라이런에서 도출된 리스크 체크 항목을 태스크 사이에 체크박스로 삽입하여 "태스크 완료 = 체크 완료" 1:1 매핑.

원칙: 태스크 #01~#05 뼈대 5건 + 회귀 가드 체크 6건 + 커밋 단위 4건 = 총 15건. 킥오프 시 PM(또는 PD)이 Claude 메인 세션에 TodoWrite 명령 발주 → 본 문서 §2 블록 그대로 복사.


1. D-1 선결 체크 (2026-05-03 A1~A3 완료 여부 확인)

킥오프 09:00 시점에 다음 3건 확인 후 TodoWrite 생성 진행:

FAIL 시: 킥오프 HOLD → PD 에스컬레이션 (sprint-01-d-minus-1-checklist.md §6)


2. TodoWrite 복사 블록 (15건)

복사 시점: A1~A3 PASS 확인 직후, Claude 메인 세션에 다음 내용 전달:

Sp01 W1 TodoWrite 15건 등록:

1. [#01 enum+GradeRemap] GodBlade.Data asmdef 에 Grade/MobKind/RewardType enum + GradeRemap.cs 작성 (1.0h, CP-M02 ⭐)
2. [가드#1-CS0579] #01 저장 직후 grep '[assembly: InternalsVisibleTo' 히트 1건 유지 확인 (R-DR-01)
3. [커밋#1] feat(sp01-w1): add Grade/MobKind/RewardType enums + GradeRemap static class
4. [#02 DropRateTableSO] TSV_REL_PATH='../designs/transcendent_drop_table.tsv' + SO 60행 + Importer + .asset + Addressables 엔트리 Rewards/DropRateTable (2.0h, CP-M02 ⭐ + CP-M03)
5. [가드#2-CS0579] #02 SO 저장 직후 grep '[assembly: InternalsVisibleTo' 히트 1건 유지 확인 (R-DR-01 재발 Medium)
6. [가드#2-경로] #02 Import 실행 전 DialogBox 'TSV Not Found' 확인 없이 성공 로그 확인 (R-DR-02)
7. [커밋#2] feat(sp01-w1): add DropRateTableSO + importer (60 rows)
8. [#03 MilestoneRewardCatalogSO] TSV_REL_PATH='../designs/transcendent_milestone_reward.tsv' + SO 22행 + Importer + .asset + Addressables Rewards/MilestoneRewardCatalog (1.5h, CP-M02 ⭐)
9. [가드#3-CS0579] #03 SO 저장 직후 grep 재확인 (R-DR-01 피로도 축적 Medium)
10. [커밋#3] feat(sp01-w1): add MilestoneRewardCatalogSO + importer (22 rows)
11. [#04 AffixPoolSO] TSV_REL_PATH='../designs/affix_pool.tsv' + SO 30행 뼈대 + Importer + .asset + Addressables 엔트리 (1.0h, W2 범위 일탈 금지 ⚠)
12. [가드#4-CS0579] #04 SO 저장 직후 grep 재확인 (3회 연속 Sp00 회귀 B 동일 패턴 Medium)
13. [#05 Import ALL] GodBlade/Data/Import ALL 메뉴 1개 (Sp00 Stage + #02~#04 호출) (0.5h)
14. [가드#5-네임스페이스] 생성된 4 파일(#01~#04) 최상단 'namespace GodBlade.Data' 명시 선언 유지 확인 (R-DR-03)
15. [커밋#4] feat(sp01-w1): add AffixPoolSO skeleton + Import ALL menu

3. 태스크별 상세 참조 (킥오프 직전 재확인용)

3.1 #01 — Grade / MobKind / RewardType enum + GradeRemap (1.0h)

3.2 #02 — DropRateTableSO + 60행 Import (2.0h, 최대 태스크)

3.3 #03 — MilestoneRewardCatalogSO + 22행 Import (1.5h)

3.4 #04 — AffixPoolSO 뼈대 (1.0h)

3.5 #05 — Import ALL 메뉴 (0.5h)


4. 회귀 가드 6건 체크박스 상세

4.1 가드#1~#4 (CS0579 재발 방지, R-DR-01)

각 SO 파일 저장 직후 매회 실행:

# Unity6/Assets/ 전체 grep
grep -rn "\[assembly: InternalsVisibleTo" Unity6/Assets/
# 기대: 1건 (TranscendentStageSO.cs:22 혹은 GodBlade.Data.Assembly.cs:N)
# 2건 이상 → 즉시 STOP, 새로 추가된 InternalsVisibleTo 라인 삭제

실패 시 대응: 삭제 후 재컴파일. 회귀 원인 커밋 메시지에 regression:CS0579 태그로 표기.

4.2 가드#2-경로 (TSV 경로 drift, R-DR-02)

#02 Importer 첫 실행 시:

4.3 가드#5-네임스페이스 (rootNamespace drift, R-DR-03)

#05 Import ALL 메뉴 저장 직후:

head -5 Unity6/Assets/Editor/Importers/*.cs | grep "^namespace"
# 기대: Editor 측 Importer 3개 모두 'namespace GodBlade.EditorTools'
# 'namespace GodBlade.Editor' 발견 시 수정 (rootNamespace 불일치)

5. 커밋 단위 4건 메시지 템플릿

커밋#1: feat(sp01-w1): add Grade/MobKind/RewardType enums + GradeRemap static class
- Data asmdef 에 public enum 3종 추가
- GradeRemap.TryParseNew 원본 Grade → 신규 Grade 매핑 (Rare→Epic 포함)

커밋#2: feat(sp01-w1): add DropRateTableSO + importer (60 rows)
- Addressables 주소 'Rewards/DropRateTable' 등록
- 드롭률 합 1.000 ± 0.001 자기검증 통과
- CS0579 회귀 가드 grep 1회 확인

커밋#3: feat(sp01-w1): add MilestoneRewardCatalogSO + importer (22 rows)
- Addressables 주소 'Rewards/MilestoneRewardCatalog' 등록
- HashSet<int> _milestoneFloors 22 elements 확인

커밋#4: feat(sp01-w1): add AffixPoolSO skeleton + Import ALL menu
- AffixPoolSO 뼈대 (W1 범위, 스택 로직 Sp04 이월)
- GodBlade/Data/Import ALL 메뉴 1개 (Stage + DropRate + Milestone + AffixPool 순차)

6. 실패 시 롤백 경로

태스크실패 시점롤백 범위
#01GradeRemap 컴파일 실패커밋#1 revert — 후속 태스크 전부 블로킹
#02DropRate Import 실패커밋#2 분할 중 실패 지점만 revert (SO / Importer / Addressables 분리)
#03Milestone Import 실패커밋#3 단독 revert — #02/#01 영향 없음
#04AffixPool Import 실패커밋#4 분할 revert. #05 Import ALL 은 #02/#03만으로 동작 유지
#05메뉴 미작동커밋#4 revert. 개별 Importer 4개는 정상

전면 중단 시: PM(메인 세션)이 Sp01 드라이런 §10 롤백 지점 표 참조 후 PD 에스컬레이션.


7. W1 종료 체크 (2026-05-11 일 예정)

W1 종료 시점 DoD:


8. 메인 세션 오케스트레이터 행동 예약

킥오프 09:00 시점에 Claude 메인 세션이 수행할 순서:

  1. PD 입력 "Sp01 W1 시작" 수신
  2. 본 문서 §1 D-1 체크 3건 PD에게 재확인 요청
  3. PASS 확인 후 본 문서 §2 TodoWrite 15건 블록을 TodoWrite 도구에 1회 호출로 등록
  4. code-lead 에이전트 발주: "#01 부터 순차 실행, 각 SO 저장 직후 §4 회귀 가드 6건 체크"
  5. 커밋 단위 4건 도달마다 PM(메인 세션)이 PD에게 진척 1줄 보고

END OF PRELOAD · 실행 후 본 문서는 sprints/archive/ 이동 예약 (Sp01 W1 종료 시)