Sprint 00 (2026-04-20 ~ 2026-05-04)
Phase 2 킥오프. 방치형 RPG + 무한던전(초월모드 재활용) 방향 확정 직후 첫 스프린트. 원본Program/,Datasheets/,Dump20210311.sql= read-only. 모든 신규 코드는Unity6/하위.
목표 (최대 3줄)
- Unity 6 LTS
Unity6/프로젝트 생성 + URP/Addressables 2.x/Input System 셋업 + Git 첫 커밋 Dump20210311.sql→data_transcendent_stageCSV 추출 + ScriptableObject 임포트 Smoke Test- 2주 스프린트 리듬 확정 +
sprints/초기화 (본 문서 포함)
작업 (TodoWrite 초기 리스트)
- Unity Hub에서 Unity 6 LTS 최신 에디터 설치 확인 + 라이선스 활성화 (담당: code-lead, 0.5h)
Unity6/폴더에 신규 3D(URP) 프로젝트 생성,.gitignore+ Git init + 초기 커밋 (담당: code-lead, 1h)- Addressables 2.x + Input System + (옵션) Entities 패키지 설치, 빈 씬 빌드 성공 확인 (담당: code-lead, 1~1.5h)
- URP Asset/Renderer 기본값 생성 + 샘플 씬 정상 렌더 Smoke Test (담당: code-lead, 0.5~1h)
Dump20210311.sql에서data_transcendent_stage테이블만 CSV로 덤프 (원본 SQL은 건드리지 않음, 읽기 전용) (담당: code-lead, 1h)TranscendentStageDataScriptableObject 스키마 초안 정의 (필드명만, 밸런스 수치는 game-designer 영역) (담당: code-lead, 0.5~1h)- CSV → ScriptableObject 임포트 에디터 스크립트 작성 + 10행 Smoke Test (담당: code-lead, 1~1.5h)
- 2주 스프린트 캘린더 고정: 격주 월요일 킥오프 / 2주 뒤 월요일 종료 규칙 문서화 (담당: project-manager, 0.5h) (2026-04-20 완료)
sprints/README.md에 스프린트 문서 사용 규칙 1쪽 정리 + Sprint 01 빈 템플릿 예약 (담당: project-manager, 0.5h) (2026-04-20 완료)- D+14(2026-05-04) 종료 회고용 체크리스트를 본 문서 하단에 선예약 (담당: project-manager, 0.25h) (2026-04-20 완료)
총 예상 공수: 약 7~10h. 주 10~15h 가용 시간 내 여유 있게 수렴.
의존성
- Unity 6 에디터 설치 →
Unity6/프로젝트 생성 → Addressables/Input System 설치 (순차) Unity6/프로젝트 생성 → CSV 임포터 에디터 스크립트 작성 (프로젝트 없으면 스크립트 붙을 곳 없음)data_transcendent_stageCSV 덤프 → ScriptableObject 스키마 → 임포트 Smoke Test (순차)- 본 문서 확정 →
sprints/README.md규칙 정리 (문서 포맷 확정 후)
리스크 (최대 3건)
- Addressables 2.x breaking change — 1.x 기준 튜토리얼/레퍼런스가 대부분이라 2.x에서 API/그룹 스키마가 달라 Smoke Test에서 막힐 가능성. 대응: 공식 Migration 문서 선독, 안 되면 Sprint 01로 이월하고 Resources 기반 임시 로더로 우회.
- SQL 덤프 파싱 / 인코딩 이슈 —
Dump20210311.sql이 32MB MySQL 덤프. 한글 CHARSET(utf8/utf8mb4/euckr) 혼재 시 CSV 덤프에서 깨질 수 있음. 대응:mysql클라이언트 또는mysqldump --tab대신 DBeaver export 우선 시도, 10행 Smoke만 확인 후 이월 가능. - 1인 파트타임 시간 부족 — 본업 + Unity 6 첫 설치 + URP 기본 학습까지 겹치면 2주 내 3개 목표 완주가 빠듯. 대응: 목표 3이 제일 작으므로 먼저 소화, 목표 2의 "CSV만 뽑고 SO 임포트는 Sprint 01로 이월" 옵션을 PD 승인 하에 예비 카드로 보유.
중간 진척 로그 — 2026-04-21 (D+1)
정식 종료 회고 아님. D+14(2026-05-04)에 PD와 별도로 기록. 여기는 당일 실적 스냅샷.
목표별 상태
- 목표 1 (Unity 6 셋업): 스캐폴드 배치 완료. URP 3D + Data/Runtime/Editor asmdef 3분할 + 로컬 git 7커밋.
- 목표 2 (초월모드 Smoke Test): 통과. TSV → 200개
TranscendentStageSO임포트, 로그[Smoke] Loaded 200 stages. First: GT=120700001 HP=600000재현. - 목표 3 (스프린트 리듬): 킥오프 3건 완료 상태 유지. Monday↔Monday 경계 규칙
sprints/README.md§1 확정.
커밋 (d:/SVN/Backup/GodBlade/Unity6/ 로컬 git, 최신 → 최초)
a9cce41 chore: Unity auto-regenerated packages-lock.json + ProjectSettings
91416f5 fix(P1): BOM trim + header integrity validation + log format + BuildIndex simplify
4f3852b fix: InternalsVisibleTo("GodBlade.Editor") 추가
26be524 fix: Unity.ResourceManager asmdef 참조 복구
75c6fa1 feat: URP 3D scaffold + asmdef 3분할 + TranscendentStageSO + Importer + SmokeTester
94ea585 chore: package manifest (Addressables 2.2.2 + Input System 1.11.2 + URP 17.0.3)
9a4baf9 chore: 초기 .gitignore / .gitattributes
회귀 2건 (학습 자산)
- CS0246
AsyncOperationHandle<T>— code-lead가 "Addressables가 ResourceManager 타입을 재노출" 전제로 asmdef 참조 제거했으나 첫 컴파일 실패.Unity.ResourceManager복구. - CS1061
EditorAssignPrivateFields—internal메서드가 어셈블리 경계(GodBlade.Data→GodBlade.Editor)를 못 넘음.[InternalsVisibleTo("GodBlade.Editor")]추가.
→ 교훈: 정적 리뷰 "완료"는 최종 완료 아님. Unity 첫 컴파일 통과까지 1건 = 완료. 이후 스프린트 산정에 리뷰 후 1~2h 패치 버퍼 기본 반영. (메모리: feedback_codelead_review_compile_verify.md)
기타 정비
sprints/sprint-01.md빈 템플릿 예약 (2026-05-04 ~ 2026-05-18).- 피드백 메모리 파일 1건 신설 (위 경로).
- game-designer 선행 발주 & PD 승인 완료:
designs/transcendent_reward_draft.mdv1.0 APPROVED. 5대 결정 = Q1:C안 / Q2:하이브리드 / Q3:6등급 / Q4:미도입 / Q5:Sprint 05+ 유예 → Sprint 01 킥오프 시 code-lead 즉시 구현 발주 가능. (메모리:project_transcendent_reward_decisions.md) - Sprint 01 W1 선행 착수 & 승인:
designs/transcendent_drop_table.tsv+milestone_reward.tsv+affix_pool.tsv+ README 생성 후 PD 승인. 등급 리매핑(원본 Rare→신규 Epic) / 어픽스 풀 Sprint 02 이월 / Magic 베이스 = Normal 복제 3건 확정. - Sprint 02 프레스티지 스펙 선행 & 승인:
designs/prestige_system_spec.mdv1.0 APPROVED. 5대 결정 = Q1:C안 3탭×10항목 / Q2:계정영구 / Q3:시즌50%전환 / Q4:소프트캡Lv5 / Q5:100층해금. PP 슬롯 2채널(permanent/seasonal) 사전 분리로 Sprint 05 시즌 도입 시 마이그 비용 0. 200층 격파 역산 = 700~900 PP ≈ 방치 7~10일. (메모리:project_prestige_decisions.md) - Sprint 01 W2 Importer 기술 설계 선행 & 승인:
designs/sprint-01-w2-importer-design.mdv1.0 APPROVED. 4대 결정 = DQ1:개별 SO 3개 / DQ2:메뉴 4+1 / DQ3:TsvReader Sprint02이월 / DQ4:Tests.Editor 신설. §9 컴파일러 시뮬레이션 체크리스트 11개(CP9-1~11).test-framework 1.4.5manifest 포함 확인으로 블로커 해소. (메모리:project_sprint01_w2_importer_design.md) - Sprint 02 W2 프레스티지 기술 스케치 선행 & 승인:
designs/sprint-02-w2-prestige-tech-sketch.mdv1.0 APPROVED. 4대 결정 = Q1:struct+List(hot path, Sprint 01 DQ1과 의도적 분기) / Q2:JSON schemaVersion / Q3:Firebase Phase5+ / Q4:retainRatio 파라미터. 이벤트 훅 6개(기존 3+신규 3) / §8 체크 16개(CP9-1~11 재적용+CP-P1~P5). Sprint 01 W2 정합성 §11 10축 교차표로 충돌 0건 확인. (메모리:project_sprint02_w2_prestige_tech_sketch.md) - Sprint 02 W1 프레스티지 30항목 수치 시트 선행 & 승인:
designs/prestige_items_README.mdv1.0 APPROVED +prestige_items.tsv(30행) +prestige_pp_cost.tsv(Lv1~100) +prestige_effect_matrix.tsv(빌드 10종). 3대 결정 = Q1:FlatCapped UI 차단 / Q2:외부 곱연산(탭 간) / Q3:탭 현구조 유지(Offense/Defense/Utility 10/10/10). 200F 역산 검증 통과(PP 700=2.64배 / PP 900=2.85배, 방치 5.7~7.4일). Calculator 시그니처 불변 원칙으로 Sprint 03+ 실측 튜닝 시 C# 코드 수정 0 목표. 대기 3건(item_id 0/24/26) 실측 후 재튜닝. (메모리:project_sprint02_w1_prestige_items.md) - Sprint 03 방치 시스템 사전 조사 선행 & 승인:
designs/sprint-03-idle-research.mdv1.0 APPROVED (10쪽, 코드 0줄). 5대 결정 = Q1:옵션C 하이브리드(Bulk집계+tail 3,600초 리플레이) / Q2:IdleCapHours 스펙대로(8h+Lv당1h, Sprint04+ 하드캡 유예) / Q3:층 자동진행 금지(maxFloor 고정) / Q4:PP 자동수령 / Q5:드롭 Debug.Log만(Sprint04 인벤토리 이월).GodBlade.Runtime.Idle서브 네임스페이스(신규 asmdef 없음),IdleTicker(MB) +IdleRewardCalculator(static) +IdleSaveService(JSON).OnIdleReward훅 유일 발화자 확정. §9 체크 11개(CP-I1~11, Sprint00 회귀 2건 재발 경고 유지). TodoWrite 10건 예상 13.25h + 회귀 버퍼 1.5~2h. 10축 교차 충돌 0건. (메모리:project_sprint03_idle_research.md) - scaffold 동기화 감사 & 선제 해소 3건:
designs/scaffold-sync-audit-2026-04-21.md(code-lead, 10섹션). 총 drift 9건 (P0=0 / P1=4 / P2=4 / P3=1) → 2026-05-04 Sprint 01 킥오프 GO. Sprint 00 회귀 2건 방어 레이어 실사 통과 (Unity.ResourceManager참조 2지점 +InternalsVisibleTo단일 선언). 버퍼 내 선제 해소 3건: (D1) 설계 3건에GodBlade.Editorasmdef vsGodBlade.EditorTools네임스페이스 NOTE 1줄씩 추가 · (D6)sprints/shared-checkpoints.mdv1.0 (PM, 유니크 23개 CP-M01~M23, Sprint 00 회귀 2건 최상단 ⭐ 고정, 스프린트별 서브셋 13/17/13) · (D8)designs/d8-stat-key-validation-2026-04-21.mdv1.0 APPROVED (game-designer, YELLOW→GO 조건부, N1-B 네이밍 Importer 매핑 + N2 문서 소급 수정 승인, 특수 경로GetIdleCapHours헬퍼 신설 결정). D8 부수 발견 해소 (2026-04-21 S1 승인): 실사 결과prestige_system_spec.md:105가 "오프라인 캡 24h" 로 TSV(24 + 2 × min(level, 5), Lv5 상한 34h)와 이미 일관. Sprint 03 Q2 텍스트만 "8h/+1Lv/13h" 오기였음. Sprint 03 §PD 결정표 / §6 Q2 / §1.3 3곳 정정 완료 (코드 0, TSV 0). - Sprint 04 어픽스 풀 실수치 선행 & 승인:
designs/affix_pool_README.mdv1.0 APPROVED +affix_pool.tsv(30 어픽스 × 6 tier) +affix_slot_rules.tsv(6등급 슬롯·재롤 PP 1~50) +affix_stack_matrix.tsv(10 빌드 시뮬). 5대 결정 = Q1:Mythic재롤 50PP유지 / Q2:Legendary고정 Sprint04랜덤·Sprint05+차등 / Q3:원본 211행 한글명만 Sprint06 이식(수치 복제 금지) / Q4:셋효과 Sprint05+ / Q5:Mythic폭주 2.5~3.0x 허용(의도된 장기목표). 200F 역산 B04 = 4.26배 (타겟 2.5배 대비 1.70배 여유, optimal). 스택 폭주 방지 3정책(additive_crossAxis 14 / additive_hardcap 7 / exclusive_onlyOne 6) 프레스티지 드립 3.3배 폭주 차단. Sprint 02 Calculator 시그니처 불변 보장. code-lead 인계 체크 6개. Sprint 05+ 이월 4건(셋효과/Legendary Power/Mythic 제약/MythicEssence). (메모리:project_sprint04_affix_pool.md) - Sprint 05 시즌 시스템 사전 조사 선행 & 승인:
designs/sprint-05-season-research.mdv1.0 APPROVED (10쪽, 코드 0줄). 7대 결정 = Q1:60일 / Q2:Phase4 관리자수동→Phase5 Firebase Remote Config 승격 / Q3:maxFloor 리셋+스냅샷(seasonal_record.v1.json) / Q4:이월3건 투입(셋+Mythic제약+MythicEssence Wallet, Legendary Sprint06이월) / Q5:Firestore+로컬캐시 / Q6:Round 정수연산 / Q7:신규PlayerWalletState50%retain. Sprint 02 W2MigrateSeasonalToPermanent(0.5f)5개 부수효과(플래그/백업/IdleTicker선행/OnSeasonEnd/maxFloor스냅샷) 활성화.ISeasonClock/ILeaderboardRepository인터페이스 추상화로 Phase 5 승격 교체비용 2~3h 한정.prestige.v1→v2.json스키마 마이그.GodBlade.Runtime.Season서브 네임스페이스. 이벤트 훅OnSeasonStart(신규)+OnSeasonEnd(실배선). 시즌 특화 체크 4개(CP-S1~S4) + 공통 CP-M01~M23 재활용. TodoWrite 10건 14h/2주 (11~15h 예산 적합). 10축 교차 충돌 3건 모두 해소. (메모리:project_sprint05_season_research.md) - Phase 2 로드맵 통합 & PM 재정합 v1.0:
sprints/phase-2-roadmap-2026-04-21.mdv1.0 (PM, 10섹션). 10건 승인본 기반 Gantt(주차표) + 의존성 그래프(28 노드) + Critical Path 7노드 직렬(Sp01 R02→Sp02 R11→Sp03 R14→R15→R17→Sp05 R26, 18~25h) + 병목 2건(BuildSummary 필드 지연 / Firebase 러닝커브). 총 공수 76~87h vs 가용 200~300h(20주) 생존 ✅. Sp03↔04 4주 / Sp04↔05 6주+ gap 감지 후 PD에 이유 확인 요청 → PD 회신: "방치형 RPG"는 장르명, 개발 일정은 방치 없음. 압축 스케줄 재정렬 여지 확인. - Phase 2+3 로드맵 v2.0 APPROVED (11번째 · 최종):
sprints/phase-2-roadmap-2026-04-21.mdv2.0 (PM 재작성, 같은 문서 덮어쓰기). v1.0 gap 해석 오독 교정 + Sp06+ 5대 결정 반영하여 Phase 2(MVP Sp00~05) + Phase 3(확장 Sp06~09) 18주 연속 재설계. PD 신규 4대 결정 승인: D1=V3 Sp05↔Sp06 통합 1주(회고2h+Firebase선행6h+Phase3계획2h+번아웃완충, 종료일 2026-09-14 순연) / D2=B Phase2/3 분리(2026-07-13 MVP 마일스톤 선포) / D3=D Sp09 무힌트(Sp08 W2 종료 2026-08-31 3자 미팅으로 결정) / D4=A Sp07 W1 수치 Sp06 킥오프 동시(2026-07-13) 발주. Critical Path 11노드 26~36h. 총 공수 159~172h vs 가용 180~270h(18주) 생존 ✅. 리스크 3건(R1 번아웃 V3로 완화 / R4 어픽스 30→33 누출 Sp07 W1 차단 / R6 Sp09 결정 지연 3자 정례). (메모리:project_phase_2_3_roadmap_v2_decisions.md) - Sp06+ 차별화 레버 리서치 & 승인 (10번째 · 최종):
designs/sp06-plus-lever-research.mdv1.0 APPROVED (game-designer). PD 제공 2026 한국 방치형 RPG 벤치마크 4선(버섯커·달토끼·사신·우산소녀, 원스토어·컴투스온·나무위키) 대비 차별화 레버 4종 판정. 5대 결정 = D1:순차형 로드맵(Sp06 이월5건→Sp07 속성→Sp08 이벤트+프리셋→Sp09 재검토) / D2:4속성 D2표준(Fire/Cold/Lightning/Poison, 어픽스 30 유지) / D3:주간 리더보드 이벤트 Sp08 포함(Firestore 재활용 <$10/년) / D4:Follower NPC Sp09 재검토(Sp06~08 실측 후, "아트 없이 MVP" 동시 평가) / D5:프레스티지 프리셋 버튼 Sp08 W2 흡수(3~5 슬롯,prestige.v3.json확장). 4종 레버 스코어 = 속성17·이벤트17·프리셋15·Follower14·원형9~12(배제). 디아블로 감성 충돌 판정: 미소녀수집=매우높음 / PvP텃밭=높음 / 속성=충돌없음. 싱글 전제 충돌은 경쟁 원형 #1만. Sp06+ 로드맵 확정 각 15h/2주. Sp01~05 APPROVED 결정 수정 금지 원칙 엄수. (메모리:project_sp06_plus_lever_decisions.md,reference_idle_rpg_benchmarks_2026.md) - Sprint 01 W1 드라이런 리허설 (12번째 · 실제 킥오프 예행):
sprints/sprint-01-dry-run-2026-04-21.mdv1.0 (code-lead, 11 섹션). 판정 = Yellow-Green → 2026-05-04 킥오프 GO (P0 블로커 0건 / P1 완화 권장 3건). Sp01 W1 태스크 #01~#05 각각 4축 분석(Happy Path / 블로킹 리스크 / 선결 조건 / Rollback 지점) + Sp00 회귀 2건 재현 확률 매트릭스. 실공수 예상 밴드 6.5~9.0h (설계 6.0h 대비 +0.5~3h 버퍼). 최상위 리스크 3건: R-DR-01 CS0579 회귀 Medium(SO 3연속 신설 시[assembly: InternalsVisibleTo]습관 복제, #02~#04) / R-DR-02 TSV 경로 drift Medium(Sp00=data_extracted/vs 신규=designs/) / R-DR-03 네임스페이스 혼동 Low-Medium(GodBlade.EditorToolsrootNamespace vs 설계GodBlade.Editor.*). 부수 발견 B2 블로커 해소:TranscendentStageImporter.Import()=public static void실사 확정으로 #05 Import ALL 메뉴가 Sp00 본체 수정 없이 호출 가능. 사전 완화 액션 3건 (2026-05-04 오전 1h asmdef 사전 점검 + TSV 경로 상수 템플릿 + Data 어셈블리 체크리스트 4항목). 주의 태스크 = #02 DropRate (3단 분할 커밋) / #04 AffixPool (W2 범위 일탈 유혹). 설계 변경 0건 / 코드 0줄 /Unity6/수정 0건 원칙 준수. - Sprint 02 W1 드라이런 리허설 (13번째):
sprints/sprint-02-w1-dry-run-2026-04-21.mdv1.0 (code-lead). 판정 = Yellow → 2026-05-18 킥오프 GO (사전 완화 4건 + 태스크 순서 엄수 조건부). v2.0 로드맵 §10 비추정 공수 플래그 해소 기여: Sp02 W1 TodoWrite 7건 도출 (T01 TsvReader 공통화 3h / T02 enum 0.75h / T03 PrestigeItemCatalogSO 1.5h / T04 PrestigePpCostTableSO 1.5h / T05 PrestigeItemImporter 2.5h / T06 PrestigePpCostImporter 1h / T07 Import ALL+StatKeyMap 0.75h = 13.0h 도출, 실밴드 13.5~17.0h). 최상위 리스크 3건: R-DR-04 High TsvReader 공통화 범위 오버런(설계 "최소 편집" vs 실측 diff 4파일 × 100 lines 제거 + 신규 80 lines → T01 단독 PR + 5커밋 체인 + 288행 회귀 검증) / R-DR-05 Medium prestige_items.tsv 14컬럼 vs SO 10필드 공백(display_name_en/description/origin/notes 5컬럼 흡수 정책 미명시) / R-DR-06 Medium prestige_pp_cost.tsv SO 이중화 + 60 vs 61 행수 gap. Sp00+Sp01 회귀 4패턴 재현 매트릭스: CS0579 Medium(T03/T04/T07 Data 신규 4파일 연속, Sp01 피로도 축적으로 Sp01보다 위험 상승). 특수 리스크: SO 카탈로그(W1 read-only) vs struct+List(W2 read-write) 의도적 분기 1주 간격 동일 개발자 연속 작성 → 휴먼 에러 Medium, 4중 완화(PR본문/주석/CP-M06강화/W2리뷰체크). 사전 완화 액션 4건 총 1.5h (A1 Sp01 회귀 점검 / A2 PD 2줄 사전 결정 필요: pp_cost 배치 정책 + 60/61 행수 / A3 체크리스트 v2 / A4 경로 템플릿 + stat_key 6행). 설계 변경 0건 / 코드 0줄 /Unity6/수정 0건 원칙 준수. A2 PD 2건 즉시 해소 (2026-04-21): A2-1 = (a) 별도PrestigePpCostTableSO유지 (Sp01 개별 SO 패턴 계승) / A2-2 = FP (False Positive) 확정, 실사prestige_items_README.md:23211 보존 레벨 명시로 TSV 61행 정답 일관. README/TSV 수정 0건, 드라이런 R-DR-06 섹션에 해소 주석 추가. - Sprint 03 드라이런 리허설 (14번째 · W1+W2 통합 예행):
sprints/sprint-03-dry-run-2026-04-21.mdv1.0 (code-lead, 19 섹션). 판정 = Yellow (조건부 GO) — Sp02 W1과 동일 수준. 조건 2건 = D-1(2026-05-31) A1~A5 완료(2h) + Sp02 W2 의존 4건 시그니처 실측 확인. 실공수 밴드 14.5~18.5h (설계 13.25h + 버퍼 1.25~5.25h). 최상위 리스크 3건: R-DR-07 High 하이브리드 계산 결정론 불일치(경계값 0s/3599s/34h cap/0.5s 반올림 오차 + DropRateTable Dictionary 순회 OS별 차이 → RNG 순서 강제 + 경계값 4종 계산 테스트) / R-DR-08 High OnApplicationPause 플랫폼 차이(iOS 30s Suspend→Kill시 미호출 / Android 백그라운드 제한 / Steam 알트탭 차이, Editor 재현 불가 → Sp04 실기 테스트까지 잠재) / R-DR-09 Medium-High Sp02 W2GetIdleCapHours의존(d8 §3.3 스펙 있으나 C# 시그니처 구현체 존재 여부 미확인, FP 가능성 명시). 사전 완화 A1~A5 총 120분: A1 Sp02 W2 의존 4건 시그니처 실측 45분(GetIdleCapHours / BuildSummary 4필드 / AddPermanentPp·AddSeasonalPp / GrantIdleDrip 예약) / A2 엣지케이스 4건 종이계산 30분 / A3 OnApplicationPause 4플랫폼 매트릭스 20분 / A4 IdleTicker singleton 3취약점 방어 15분 / A5 idle.v1.json + CP-M23 시계역행 가드 10분. Sp02 W1 R-DR-06 FP 교훈 반영: R-DR-09 실 블로킹 플래그 아님, A1 실측 후 확정 원칙 명시. 설계 변경 0건 / 코드 0줄 /Unity6/수정 0건 원칙 준수. R-DR-09 4건 즉시 설계 실측 해소 (2026-04-21): Sp02 W1 R-DR-06 FP 패턴 재적용, 4건 전수 설계 문서 grep 검증 — (1)GetIdleCapHours= d8-stat-key-validation.md:169public static int✅ (2)BuildSummary4필드 = sp02-w2-tech-sketch.md:230·235 ✅ (3)AddPermanentPp/AddSeasonalPp(long)= sp02-w2-tech-sketch.md:193-194 ✅ (4)PrestigePpAccumulator.GrantIdleDrip + OnIdleReward= sp02-w2-tech-sketch.md:381·386·390 §6.3 ✅. 부분 FP 확정 = 설계 스펙 누락 우려 = False Positive. 잔여 위험 = 구현 drift (Low-Medium). 리스크 재분류 Medium-High → Low-Medium. A1 2026-05-31 PR 머지 실측은 여전히 필수. 드라이런 문서 §0.2 R-DR-09 블록쿼트 + §18.2 표 갱신 2건. - Sprint 04 드라이런 리허설 (15번째 · 축소판 재발주):
sprints/sprint-04-dry-run-2026-04-21.mdv1.0 (code-lead, 11 섹션, 약 330라인). 1차 시도 워치독 타임아웃 → 축소판(450~550라인 목표, 입력 3건) 재발주 완료. 판정 = Yellow (Sp03 Yellow-조건부와 동급, 킥오프 GO 권장 + 사전 완화 3건 선결). TodoWrite 7건 11.0h 도출(README §6 인계 6 + §4.2 10빌드 자기검증 1) / 실공수 밴드 12.0~15.5h (Sp03 14.5~18.5h 대비 -2~3h, MonoBehaviour 플랫폼 리스크 無). 최상위 리스크 3건: R-DR-10 High 3 스택정책 switch/enum 4종 누락(fall-through 시exclusive_onlyOne6스탯 이중 덧셈 → IdleYieldPct 1.345배→3.31배 폭주) / R-DR-11 High Mythic 재롤AddPermanentPp(-50)음수 차감 시그니처 drift(Sp02 W2public void AddPermanentPp(long)존재 확인, 음수 처리 정책 미명시, R-DR-09 유사 부분 FP 패턴) / R-DR-12 Medium-High Importerprestige_overlapvsprestige_items.tsvstat_key 싱크 실패(철자 불일치 시 silent miss → 이중 적립). 사전 완화 B1~B3 총 75분: B1 Sp02 W2AddPermanentPp(long)음수 처리 실측 30분 / B2 Importer 교차검증 체크리스트 + 19 중복 stat_key 리스트 25분 / B3 누적 회귀 4패턴 + Sp04 신규 2패턴(Grade enum 6단계 /Range<float>파서 Min/Max 역전) 체크리스트 v4 20분. 중요 발견: 메모리project_sprint04_affix_pool.mddrift 감지 → 즉시 정정. TSV authoritative 확인 결과 슬롯 Common 0/Magic 2/Rare 4/Epic 6/Legendary 6/Mythic 7 + 재롤 PP 0/1/3/8/20/50 (메모리 기록 슬롯 1/2/3/4/5/6 + PP 1/2/5/15/30/50 은 구버전). 메모리부수 확정블록 TSV 실측값으로 갱신 + authoritative 표기 추가. 설계 변경 0건 / 코드 0줄 /Unity6/수정 0건 원칙 준수. - Sprint 05 드라이런 리허설 (16번째 · 축소판 재발주):
sprints/sprint-05-dry-run-2026-04-21.mdv1.0 (code-lead, 11 섹션, 약 290라인). 1차 시도 워치독 타임아웃 → 축소판 재발주 완료. 판정 = Yellow (Sp03·Sp04와 동급, 킥오프 GO 권장 + 사전 완화 3건 선결). TodoWrite 10건 14.0h 도출(설계 §8 + Q4 권장 3건 적용, Legendary 고정 Power Sp06 이월) / 실공수 밴드 16.5~22.0h (Sp03·Sp04 대비 상단 +2~3h, Firebase 러닝커브 원인). 최상위 리스크 3건: R-DR-S01 High Firebase SDK Unity 6 첫 도입 러닝커브(T4 3h 예산 낙관적, 실기 의존 Critical — Sp03 R-DR-08 OnApplicationPause 패턴과 동급) / R-DR-S02 CriticalMigrateSeasonalToPermanent(retainRatio)5 사이드이펙트 순서 위반(FlushCatchUp 먼저 → 백업 → retain 흡수 → 지갑 초기화 → OnSeasonEnd 발화 → UI 모달 순서 엄수, 이중 발화 플래그 가드) / R-DR-S03 Medium 시즌 Round 정수 연산 강제(10^N 스케일 골드/경험치 부동소수점 누적 오차,(total*50)/100정수 나눗셈 사용). 사전 완화 A1~A3: A1 D-1 Sp02 W2·Sp03·Sp04 의존 시그니처 실측(MigrateSeasonalToPermanent/IdleTicker.FlushCatchUp/AffixRoller) / A2 Firebase 통합 3h 하드 타임박스 선언(초과 시 T4LocalLeaderboardRepositoryfallback 유지, Firestore Sp06 이월) / A3prestige.v1→v2백업·rollback 메모(prestige.v1.json.bak.{timestamp}영구 보존, 수동 rollback 절차 3줄). 최대 주의 태스크: T3SeasonController(S2 Critical 순서 + CP-M25/M26 + Sp02 W2·Sp03 의존 2건 동시 집중). 설계 변경 0건 / 코드 0줄 /Unity6/수정 0건 원칙 준수. Phase 2 MVP 5 스프린트 드라이런 전수 완료 선언 — Sp01 Yellow-Green / Sp02 W1 Yellow / Sp03 Yellow-조건부 / Sp04 Yellow / Sp05 Yellow. 비추정 공수 플래그 전수 해소, Phase 2 MVP 킥오프 대비 안전도 Green. - SETUP_CHECKLIST.md §5 신설 — PD 첫 런 실전 교훈 5건 기록.
- Sp07 브리핑 메모 사전 작성 (17번째 · D+2 버퍼 선행):
designs/sp07-briefing-memo.mdv1.0 (메인 세션 오케스트레이터, 10섹션, 0.5h). Sp06+ 레버 D2 결정(4속성 D2 표준)의 수치·구조 선행 정리. Sp07 킥오프(2026-11) 7개월 전 작성으로 Sp06 집중기에 Sp07 스펙 확정 지연 방지. 속성 4종 확정(Fire/Cold/Lightning/Poison, D2 고전 4원소 계승, 특수효과 DoT/슬로우/분산은 Sp09+ 이월) + 기존 데이터 재사용 훅 3건(affix_poolelementalDmgPct1→4슬롯 내부 분기 / prestige Offense #7 4항목 분기 / Mythic 저항 어픽스 4개 예외 확장) + 기존 스킬 태그 부여(신규 스킬 금지, code-lead W1 실측) + BuildSummary 8필드 확장으로 Sp02 Calculator 시그니처 불변 재확인 + 200F 역산 재검증 시나리오(속성 특화 6.82배/역저항 1.70배/무속성 4.26배 유지). TodoWrite 7건 예약(15h 대비 16h 도출, T07-6/T07-7 중 1h 압축 필요). PD 5대 결정 대기(저항 캡 75 유지 / 몬스터 로테이션 10층 주기 / 프레스티지 #7 분기 방식 / Physical 속성 도입 / Mythic 전용 저항 어픽스). Sp07 W1 절감 예상 3~4h, ROI 6~8배. 설계 변경 0건 / 코드 0줄 /Unity6/수정 0건 원칙 준수. - Sp01 킥오프 D-1 체크리스트 사전 작성 (18번째 · D+2 버퍼 선행):
sprints/sprint-01-d-minus-1-checklist.mdv1.0 (메인 세션 오케스트레이터, 6섹션, 0.75h). Sp01 드라이런 Yellow-Green 조건부 GO 3건(A1 60분/A2 15분/A3 10분) 실행 스크립트화로 2026-05-03(일) 오후 14:00~15:30 실행 가능한 체크박스 포맷. A1 asmdef/InternalsVisibleTo 점검 4단계(에디터 실행 전/로드 후/히트 검증/SmokeTester 재실행) + A2 TSV 경로 상수 3종 복붙 가능 메모(../designs/transcendent_drop_table.tsv/../designs/milestone_reward.tsv/../designs/affix_pool.tsv) + A3 Data 어셈블리 4항목 체크(네임스페이스/InternalsVisibleTo 복제금지/using UnityEditor 금지/blittable). 실측 밴드 77~125분(명목 90분 대비 변수: Unity 2주 공백 패키지 재import). 종합 보고 양식 + FAIL 조건 4후보(Unity 업데이트·InternalsVisibleTo drift·SmokeTester 실패·패키지 자동 diff) + PD 에스컬레이션 경로 명시. 실행 후sprints/archive/이동 예약. 설계 변경 0건 / 코드 0줄 /Unity6/수정 0건 원칙 준수. - Graphify 지식 그래프 갱신 (19번째 · D+2 버퍼 유지관리):
graphify update .실행 완료 (CLAUDE.md graphify 규칙 준수, AST-only API 비용 0). 스캔 12,150 파일 100% / 그래프 103,684 노드 · 285,576 엣지 · 2,086 커뮤니티 /GRAPH_REPORT.md57KB → 447KB 7.7배 증가 (2026-04-21 16:25 갱신). 증가 요인: Sp00 D+1 P1 fix 4파일(TranscendentStageSO/Catalog/Importer/SmokeTester BOM trim+header integrity) + 원본Program/전체 +designs/13 MD +sprints/20여 MD 누적 반영.graph.html시각화 스킵(103k 초과,--no-viz권장). 소요 약 11분. 향후 Sp01 W1 종료 시점(2026-05-11) 또는 Sp02 W2 종료 시점 재갱신 예정. 설계 변경 0건 / 코드 0줄 /Unity6/수정 0건 원칙 준수. - Sp01 W1 TodoWrite 사전 구체화 (20번째 · D+2 버퍼 선행):
sprints/sprint-01-w1-todowrite-preload.mdv1.0 (메인 세션 오케스트레이터, 8섹션, 0.5h). 드라이런 R-DR-01~03 가드 인라인 반영한 TodoWrite 15건 복사 블록 확정 (태스크 #01~#05 뼈대 5건 + 회귀 가드 6건 + 커밋 단위 4건). 킥오프 09:00 시점 Claude 메인 세션이 §1 D-1 체크 3건(A1/A2/A3 PASS) 확인 후 §2 블록 1회 TodoWrite 호출로 등록 → code-lead 순차 발주 → 커밋 단위 4건마다 PD 진척 보고. 경로 상수 3종 인라인 명시(../designs/transcendent_drop_table.tsv/../designs/milestone_reward.tsv/../designs/affix_pool.tsv). #04 AffixPool W2 범위 일탈 4금지 항목 명시(스택 로직/BuildSummary/exclusive_onlyOne/additive_crossAxis/additive_hardcap 전부 Sp04 이월). 커밋 메시지 템플릿 4건 + 롤백 경로 5단계 표 + W1 종료 DoD 6항목. 설계 변경 0건 / 코드 0줄 /Unity6/수정 0건 원칙 준수. - Sp07 4속성 저항 공식 초안 (21번째 · D+2 버퍼 선행, game-designer 발주):
designs/sp07-resistance-formula-draft.mdv0.1 DRAFT (game-designer, 11섹션, 약 370라인, 1h). Sp06+ D2 결정(4속성 D2 표준) 수치 레이어 구체화. 저항 공식damage × (1 − clamp(resist − penetration, −100, 75)/100)D2 계승 + 캡 75/하한 −100 + 로테이션 10층 주기(100층 보스 4원소 75 고정 관통 25+ 요구, 100층 이후 10층당 +5) + 속성 피해 합산 200F 단일 특화 2.04배 + Mythic 전용 저항 어픽스 4개 예외(어픽스 30→34,mythic_exclusive_pool=true제약) + 관통 어픽스 4개 Sp08 이월 권장 + 200F 역산 4시나리오(무속성 4.26배/단일 특화 8.69배/단일+관통 4.35배 실효/4속성 분산 5.28배) + BuildSummary 12필드 확장(피해 4쌍 + 저항 4쌍 + 관통 4필드) + Q1~Q5 권장안(캡75/주기10/2항목분할/Physical도입/Mythic저항허가) + 보조 Q5-B 신설(관통 어픽스 Sp07 vs Sp08). 리스크 R3 [Medium-High] 노출: Mythic 저항 어픽스 4개 추가 =affix_slot_rules.tsvmythic_exclusive_pool=false→true전환 Sp04 APPROVED 스코프 수정 발생 → PD Q5 승인이 Sp04 범위 수정 승인도 함축. 브리핑 메모 drift 1건 감지·정정: "Offense 탭 #7" (1-indexed) vsitem_id=6(0-indexed) 표기 규약 병기로 통일.sp07-briefing-memo.md4개소 정정(§2.2 헤딩 + §2.2 상세 + §6 T07-4 + §10 PD결정). 메모리 추가 0 (DRAFT 원칙). Sp06 W2 종료 시점(Sp07 킥오프 2주 전) 재검토 → PD 승인 시 v1.0 APPROVED 승격. 설계 변경 0건 / 코드 0줄 /Unity6/수정 0건 원칙 준수. - APPROVED 스탬프 규약 제정 (22번째 · D+2 버퍼 선행):
designs/APPROVED_STAMP_CONVENTION.mdv1.0 APPROVED (메인 세션 오케스트레이터, 9섹션, 0.3h). 10건 APPROVED 설계 문서 헤더 재점검 결과 drift 2건 감지: 버전 표기v1.0 APPROVED(7건) vsAPPROVED v1.0(3건) 혼재 + 승인자 이메일 명시 1/10건. 소급 수정 없음 — 기존 10건 유지, 신규 문서부터 표준 헤더 5요소(제목/작성·역할/버전·승인일/상위 참조/범위) 적용. 채택 표기 =v1.0 APPROVED(다수 7건 계승, grep 정렬 용이). 개정 시 버전 번호 규칙(v0.x DRAFT / v1.0 APPROVED / v1.x 수치수정 / v2.0 breaking) 확정. DRAFT 상태 문서 3건(sp07-resistance-formula-draft / sp07-briefing-memo / scaffold-sync-audit) 목록화. PR 리뷰용 grep 스니펫 3종 내장. §5 10건 현황 표로 drift 위치 고정 추적. 기능 영향 0, 향후 일관성 확보 목적. 설계 변경 0건 / 코드 0줄 /Unity6/수정 0건 원칙 준수. - 캐릭터 MVP 방향 PIVOT — berserker 원본 재활용 결정 (23번째 · D+2 버퍼 선행): PD 지시 "캐릭터를 하나 띄워서 돌아다니는 것부터 시작" → 데이터 선행 22레일 이후 "실제 게임 느낌" 확보를 위한 캐릭터 MVP 선제 착수. 원본
Program/Client/Assets/GraphicResource/model/pc/5 PC 자산 전수 분석: archon(Wizard), berserker(Barbarian=디아블로 전사 최적), demonhunter(Demon Hunter), knight(Paladin/Crusader), slayer(Assassin). PD 결정 = berserker 채택 (Barbarian 직역 매핑, basemodel+animodel rig 분리 구조 / 애니메이션 32개 combo·skill 3단 A/B/C / armor 16세트 / helm 15+gstar / weapon 14+avatar / special 14세트). MVP A안 =berserker_basemodel.FBX+22@idle.FBX+22@run.FBX3개만 Unity 6 import + URP 쉐이더 마이그레이션 + Animator Controller 신설(berserker controller 부재) + CharacterController + WASD + 카메라 follow + 새 씬Unity6/Assets/_Project/Scenes/CharacterPrototype.unity. 예산 3~4h. 스코프 격리: Sp01 W1 (#01~#05 데이터 Importer) 범위 불변, 캐릭터 MVP는 버퍼 추가 태스크. URP 호환 실패 시 C안(Primitive Capsule) fallback, berserker 는 후속 스프린트 이월. 메모리 추가 1건(project_character_mvp_berserker.md). 다음 액션: code-lead 발주 → 실제 Unity 6 에디터 import 작업 착수. 최초 실코드 작업 레일 — 문서 선행 원칙 해제, 원본 자산 read-only 정책 준수(Program/복사만, 수정 없음). - berserker MVP 완료 (25번째 · 2026-05-01 D+11 버퍼 실코드 완성): PD 지시 "캐릭터를 하나 띄워서 돌아다니는 것부터 시작" 완료. 결과: idle/run 블렌드 + WASD 이동 + 3인칭 카메라 추적 + armor/helm/weapon URP 텍스처 적용. 4h 실측 (Biped 함정 1.5h + ForceRebind 0.5h + URP 텍스처 0.5h + 디버그 1.5h, 추정 3~4h 범위 내). 신규 자산:
Unity6/Assets/Editor/Builders/BerserkerMVPControllerBuilder.cs(5 메뉴: Build / FixRig / Diagnose / ForceRebind / ImportTex) +BerserkerMVP.controller(BlendTree 1D, Speed 0=idle, 1=run) + URP Lit 머티리얼 3개 (Armor/Helm/Weapon) + .psd 텍스처 6장. 대형 함정 2건: (1) 3DS Max Biped Triangle Pelvis/Neck 비호환 — Unity 6 자동 Humanoid 변환 시 Avatar 깨짐 (Bip001 L/R Thigh 부모 mismatch), 원본 GodBlade 는 Generic 으로 import 됐으므로 동일 적용 필요. 메모리feedback_3dsmax_biped_unity6.md신설. (2) PartAttacher modelRoot 함정 — 부속 GameObject 자체 자식 Bip001 사본을 가질 때 RebindSkinned 첫 매칭 break 가 사본 본을 잡음, modelRoot 명시 + ForceRebind 메뉴로 해결. 잔여 (Sp02+ 폴리시 이월): 없음 (2026-05-01 망토 갈색단색 + face mesh import + URP Lit 머티리얼 5개 완료, 빌더 6 메뉴 — Build/FixRig/Diagnose/ForceRebind/ImportTex/Polish). 메모리 정정 4건 (project_character_mvp_berserker.md): basemodel = 스켈레톤+망토만 (본체 메쉬 없음, 본체는 armor 담당) / 원본 controller 존재 (32애니 전체용이라 별도 BerserkerMVP 신설은 정당) / 작업 80% 이미 진행 상태였음 (스크립트 3종 + FBX 일부 import 완료, 진척 로그 누락) / 디아블로 감성 4.5 m/s 권장. A3 결정: MVP 완료 선언, Sp01 킥오프 (2026-05-04, D-3) 우선. 후속 PC 캐릭터 (archon/demonhunter/knight/slayer) 재활용 시 빌더 패턴 그대로 사용 가능. 설계 변경 0건 / 코드 0줄 /Unity6/수정 0건 원칙 일부 해제 — 첫 실코드 레일 (메모리 PIVOT 기록). - Claude-Code-Game-Studios 선별 채택 결정 (24번째 · D+2 버퍼 선행): PD 지시 "깃허브 claude-code-game-studios 체크 후 도입 여부 판단". 레포 조사 결과(Donchitos/14.7k stars / MIT / v1.0.0-beta 2026-04-07 / 49 agents 3-tier + 72 skills + 11 coding std + 39 templates) 전체 도입 거부 (5 근거: Sp01 D-7 disruption / 1인 파트타임 49 agent 불가 / 22 레일 sunk cost / Unity 6 + 리부트 문서 부족 / Beta 단계). 선별 채택 3건: (1) 협업 5단계 프로토콜
Question→Options→Decision→Draft→Approval명문화 →CLAUDE.mdAI 팀 운영 규약 §에이전트 협업 프로토콜 신설. (2)Unity6/Assets/신규 파일 경로 사전 승인 규칙 도입 (designs/·sprints/는 제외, 빠른 반복 우선). (3) Tier 1/2/3 계층 표기 도입 — PD=Tier 1 Director / 3 agent=Tier 2 Lead / Tier 3 Specialist 미도입·Phase 3 재평가 예약. Phase 3 (Sp06+) 재평가 플래그: Unity 4 sub-specialist(unity-addressables/unity-dots/unity-shader/unity-ui) 중 Sp06 킥오프 시점 code-lead 부담 실측 후 2건 이하 선별 도입 권장. 도입 순서 권장(addressables→shader→ui→dots). MIT 라이선스 복사 후 한국어·디아블로 감성 커스터마이징. 메모리 추가 2건(feedback_agent_protocol.md/project_framework_phase3_reevaluation.md). 설계 변경 0건 / 코드 0줄 /Unity6/수정 0건** 원칙 준수.
남은 블로킹 / 주의
- 없음. 목표 2가 D+1에 조기 수렴했으므로 남은 13일은 버퍼로 활용 가능. 추가 스코프 투입은 PD 승인 필요.
종료 섹션 (D+14 = 2026-05-04 채움)
완료
- (D+14에 작성)
미완 / 이월
- (D+14에 작성 — 이월 항목은 Sprint 01 상단에 복사)
회고
- 잘된 것:
- 안된 것:
- 다음 액션:
D+14 체크리스트 (2026-05-04)
- Unity 6
Unity6/빈 씬 빌드 성공 여부 확인 data_transcendent_stageCSV 실제 행 수와 덤프 행 수 대조- ScriptableObject 샘플 10개 Inspector에서 열람 가능 여부
- Sprint 01 킥오프 문서(
sprints/sprint-01.md) 착수 - 본 스프린트에서 발생한 블로킹 이슈를 이벤트 로그(
CLAUDE.md)에 요약 1줄 반영 요청
이벤트 로그 요청 블록
[PD 요청] 2026-05-04 스프린트 종료 시점에 "Sprint 00 완료. Unity 6 셋업 + 초월모드 Smoke Test 통과" 1줄을 CLAUDE.md 이벤트 로그에 추가