From fc085f08667fbe7ad88cb8df0b4607290988aaf3 Mon Sep 17 00:00:00 2001 From: swrring Date: Sun, 23 Aug 2026 04:01:43 +0900 Subject: [PATCH] =?UTF-8?q?docs(BT13-GodDem):=20P3-B3-2=20=EC=99=84?= =?UTF-8?q?=EA=B2=B0=20=E2=80=94=20=EA=B8=B0=EC=A0=88=C2=B7=ED=95=A9?= =?UTF-8?q?=EC=84=B1=20=EA=B2=8C=EC=9E=84=20=EC=A7=84=EC=9E=85=207fe15ff+b?= =?UTF-8?q?fe738a=C2=B7PD=20=EB=A1=9C=EA=B7=B8=20=EB=B0=B0=EC=B9=98=C2=B7.?= =?UTF-8?q?live=20=EB=B3=B5=EC=9B=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - PD 지시 5건 전건 처리(IAP 보류·기절·합성 구현·설명 2건)·술어 2분 근본 해결 - PD 로그: 완결 마일스톤(기각안 명시)·대기 재구성(가챠 5건 잔여·신규 확인 2분류)·백로그 현행화 - .live/ P25 채널 복원(조직 생존급 2회 지적 해소)·노하우 3종(술어 분열·백업 변종·브리핑 staleness) - 설계 v2 보강(§1-9-A 포화·§2-5 수집 판정)·대화로그 §79~§84 Co-Authored-By: Claude Fable 5 --- .live/README.md | 14 ++++ .../feedback_auditor_briefing_staleness.md | 22 ++++++ ...edback_backup_filename_format_violation.md | 4 + ...eedback_predicate_semantic_split_fanout.md | 31 ++++++++ 공유/PD_지시_트래킹/개발팀_PD_지시_로그.md | 2 +- .../GodDem/2026-08-23_P3B3-2_스턴_합성_설계_v2.md | 22 +++++- 공유/대화로그/GodDem/2026-08-23.md | 75 +++++++++++++++++++ 7 files changed, 166 insertions(+), 4 deletions(-) create mode 100644 .live/README.md create mode 100644 memory/org/feedback_auditor_briefing_staleness.md create mode 100644 memory/org/feedback_predicate_semantic_split_fanout.md diff --git a/.live/README.md b/.live/README.md new file mode 100644 index 0000000..f6ab6ba --- /dev/null +++ b/.live/README.md @@ -0,0 +1,14 @@ +# .live/ — P25 Live 증분 동기화 채널 + +> **복원**: 2026-08-23 총괄PM (pm-auditor "조직 생존급" 지적 2회 — 디렉토리 부재로 `live_inject.sh` no-op·P25 비가동 상태 해소) +> **구조**: plain 디렉토리 — C34(junction 체계) 폐기(2026-04-26) 이후 junction 비사용. 본 README는 `live_inject.sh`가 명시 스킵. + +## 용도 (P25) + +세션 중 반영 불가 파일의 변경분을 실시간 주입하는 채널. `.live/*.md`·`.live/*.json`에 줄이 추가되면 `live_inject.sh`(UserPromptSubmit hook)가 **증분(마지막 읽은 줄 이후)만** 다음 프롬프트에 주입한다 (한도 8,000자·파일별 커서는 `~/.claude/.burningtimes_throttle/`). + +## 규약 + +- 파일 형식: append-only (줄 추가만 — 수정·삭제는 커서 어긋남) +- README.md는 주입 제외 (본 파일) +- 대용량 금지 (한도 초과 시 "Read 직접 확인" 안내로 대체됨) diff --git a/memory/org/feedback_auditor_briefing_staleness.md b/memory/org/feedback_auditor_briefing_staleness.md new file mode 100644 index 0000000..4307b32 --- /dev/null +++ b/memory/org/feedback_auditor_briefing_staleness.md @@ -0,0 +1,22 @@ +--- +name: auditor-briefing-staleness +description: PM이 감사관에게 전달한 경과 요약(브리핑)이 실측보다 뒤처져 감사 대상 자체가 어긋나는 패턴 — 병렬 진행 중 브리핑 작성 시점과 감사 착수 시점 사이 상태 드리프트 (2026-08-23 P3-B3-2 완결 감사 실증·pm-auditor 등재 요청) +type: feedback +--- + +# 감사 브리핑 staleness — 병렬 진행 중 감사 요청문이 실측을 뒤처지는 패턴 (2026-08-23 BT13) + +## 실증 + +P3-B3-2 완결 PD 로그 갱신 감사에서, PM 브리핑은 대화로그 §80 시점("사후 검토 대기·§74~§81") 기준으로 작성됐으나 감사 착수 시점에는 §83까지 2사이클(사후 감사 도착·술어 2분 후속 커밋 `bfe738a`)이 이미 진행돼 있었다. 감사관이 브리핑을 신뢰하지 않고 실측했기에 stale 문안의 SOT 고착을 차단했지만, 실측 생략 감사였다면 "3엔트리·1커밋 뒤처진" 마일스톤이 통과됐을 것이다. + +## Why + +C41 병렬 진행 체계에서 PM이 감사를 background로 발주하면, 발주~착수~완료 사이에 다른 에이전트(designer·dev)의 산출이 계속 도착한다. 브리핑은 발주 시점 스냅샷이라 구조적으로 낡는다. 감사관은 브리핑을 사실로 전제하면 안 되고, PM은 브리핑이 낡을 수 있음을 전제로 발주해야 한다. + +## How to apply + +1. **PM**: 감사 호출 프롬프트 발신 **직전** 대화로그 tail·`git log -1`(관련 레포 전부)을 재확인하고 브리핑에 "본 브리핑 기준 시점 = §N·커밋 X" 스탬프를 명기한다. 병렬 작업이 진행 중이면 "감사 중 후속 도착 가능 — 실측 우선" 문구를 넣는다. +2. **감사관**: 브리핑은 감사 대상이지 근거가 아니다 — 대화로그 말미·HEAD·origin을 먼저 실측하고 브리핑과의 차이를 지적 항목으로 보고한다(본 건 감사관이 정확히 수행). +3. 갱신 대상 문서(PD 로그 등)에 마일스톤을 쓸 때는 브리핑이 아니라 **집행 직전 재실측 상태**를 기준으로 문안을 확정한다. +4. 관련: [[feedback_pm_context_restoration_failure]] (복원 누락)·C5·C13·C41 diff --git a/memory/org/feedback_backup_filename_format_violation.md b/memory/org/feedback_backup_filename_format_violation.md index 4160ad4..e46adc4 100644 --- a/memory/org/feedback_backup_filename_format_violation.md +++ b/memory/org/feedback_backup_filename_format_violation.md @@ -63,6 +63,10 @@ PD님 질문 "C34 확장 집행 완료 과정에 C6-1 원본 보호 규칙을 - `feedback_pm_over_conservative_interpretation.md` (관성적 답습은 과도 보수의 변종) - `feedback_memory_junction_repo_root_misdirect.md` (C34 확장 세션 동반 집행) +## 변종 6항 — .cs 백업의 원본 확장자 탈락 (2026-08-23 보강) + +GodDem P3-B3-2 구현 백업(`공유/개발팀_백업/GodDem/`)에서 **확장자별 분기 오염** 신변종: 동일 디렉토리에서 `.csv`(`SurvivalUpgrade.csv.bak_..csv`)·`.unity`·`.asset`은 표준 준수하나 **`.cs` 계열만** `SurvivalUnit.bak_20260823_0329.cs`로 **원본 확장자 탈락**(정답: `SurvivalUnit.cs.bak_20260823_0329.cs` — `{원본명}`에 확장자 포함). 최초 1건이 이후 .cs 전건 오염(관성 답습 재현). 데이터 손실 0·복구성 정상·`grep .bak_2026` 탐지성만 저하 — 소급 개명 불요·**차기 백업부터 표준 적용**. 백업 생성 시 "원본 파일명 전체(확장자 포함) + `.bak_{일시}` + 원 확장자 재부착" 템플릿 재확인 의무. + ## 교훈 **"기존 코드 답습 ≠ 조직 표준 준수"**. 신규 스크립트 작성 시 가장 가까운 기존 코드를 참조하는 건 생산성 측면에서 자연스러우나, **해당 기존 코드 자체가 이미 조직 표준 위반일 가능성**을 전제로 규약 대조가 필수. C34 Live junction 스크립트가 2026-04-18에 이미 비표준 포맷으로 도입되어 그 후 모든 파생 스크립트 오염 — 최초 위반이 길게 연쇄되는 전형 사례. diff --git a/memory/org/feedback_predicate_semantic_split_fanout.md b/memory/org/feedback_predicate_semantic_split_fanout.md new file mode 100644 index 0000000..482ba0f --- /dev/null +++ b/memory/org/feedback_predicate_semantic_split_fanout.md @@ -0,0 +1,31 @@ +--- +name: predicate-semantic-split-fanout +description: 데이터 집합 확장 시 기존 술어(predicate)가 겸직하던 두 개념이 분열 — 수치 호출부만 발견·수정되고 레이블·안내문 호출부는 술어가 여전히 true라 통과 (2026-08-23 GodDem P3-B3-2 IsGachaItem 실증·pm-auditor 등재 요청) +type: feedback +--- + +# 술어 의미 분열 팬아웃 — 집합 확장 시 겸직 술어의 잔여 호출부 누락 (2026-08-23 BT13) + +## 패턴 + +데이터 집합(카탈로그·풀·테이블)을 확장하면, 기존 술어가 겸직하던 두 개념이 갈라진다. 구현자는 **수치가 눈에 띄게 틀어진 호출부만** 발견·수정하고, **레이블·안내문만 틀어진 호출부는 통과**시킨다. + +## 실증 (2026-08-23 GodDem P3-B3-2) + +카탈로그 15→26종 확장(합성 전용 11종 추가)으로 `IsGachaItem(Grade≥3)`이 "가챠 풀 등재(6종)"과 "강화 제외 대상(17종)"으로 분열. 개발팀장이 `GachaCollectedCount/GachaTotalCount`(수집 목표 6→17 부풀림 = 도달 불가 진행도)는 자력 발견·해소했으나, `Hero.cs:485` 토스트(합성 전용품에 "뽑기에서 획득" **거짓 안내**)를 포함한 6개 호출부는 미처리 — 커밋 후 pm-auditor 사후 감사로 적발·후속 커밋 정정. + +## 왜 놓치는가 + +숫자 오류는 즉시 눈에 띄고, 문자열 오류는 술어가 여전히 `true`를 반환하므로 컴파일·정적 검증 어디에도 걸리지 않는다. + +## 차단 절차 (How to apply) + +1. 카탈로그·풀·테이블에 항목을 추가하는 작업에서, 그 집합을 판정하는 **모든 술어를 grep으로 전수 열거**하고 호출부별로 "이 호출부가 원하는 개념이 무엇인가"를 1줄씩 답한다. +2. 호출부 개별 패치는 proxy(C2-2) — **근본 해결은 술어를 개념 수로 쪼개는 것**(예: `IsGachaPoolItem`〔CSV 등재〕 신설 + `IsGachaItem`〔Grade≥3 = 강화 제외〕 의미 명문화). 각 호출부가 어느 개념을 원하는지 컴파일 시점에 드러난다. +3. **감사관 체크 편입**: 커밋 전 감사 시 `git diff --cached`에 컬렉션 확장이 있으면 해당 컬렉션 술어의 전 호출부를 강제 열거한다. + +## 연관 + +- C2-2 (proxy 개선 표시 의무) · C3 (자진 보고 — count 2곳 해소는 정확 이행·잔여 6곳이 미보고 리스크였음) +- `feedback_shop_exposure_filter_source_both.md` (노출 소스·소비 목록 양쪽 검증 — 동일 계열: 한쪽 축만 보고 완료 판정 금지) +- `feedback_scriptable_object_field_blanket_fill.md` diff --git a/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md b/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md index e813422..8446d64 100644 --- a/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md +++ b/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md @@ -33,7 +33,7 @@ C3·C13 위반에 해당. **즉시 자진 보고 후 소급 등록**. | # | 일시 | 지시 요지 | 처리 상태 | 산출물 경로 | 중단 사유 | 사후 조치 | |---|------|----------|----------|-----------|----------|----------| -| BT13-GodDem | 2026-08-19~20 | **GodDem 프로젝트 개시 + 인게임 「황야의 생존자」형 전환** — PD 직접 지시 6건 연속. ①(2026-08-19) "이 세션은 우리 조직의 새로운 프로젝트인 GodDem 프로젝트 개발을 위한 세션이야. 현재 프로젝트 레포는 'E:\NerdNavis\GodDem' 이므로 코드 및 프로젝트를 제대로 검토해보고 개발할 준비가 되면 보고해." ②"앞으로는 도구 사용을 묻지 않도록 자동으로 도구 승인처리해" (+ ToolSearch·MCP 리소스 도구·`.claude/**` 편집 영구 허용 반복 지시) ③"인게임을 유튜브(https://youtu.be/cBVc0OwUX6U 황야의 생존자) 영상과 같은 형태로 변경. 더미 리소스(기존 자산)로 기본 시스템 동일 설계·인게임 씬 배치. **아웃게임 유지, 인게임 씬만 변경**" + 전투 명세 4항(플레이어 중앙 고정 자동공격 / 매판 리셋 로그라이크 스텟 강화 / 10웨이브 보스·스테이지 클리어 / **신규: 경험치→레벨업마다 특수 스킬 3종 택1**) ④"원작 APK 디컴파일해서 게임 로직·데이터 분석. 능력치·성장 수치·강화 비용 등 밸런스 데이터를 그대로 활용하고 싶다" ⑤"FABLE5로 원작 복호화 리버싱을 먼저 시도해봐. 안되면 자체 수치로 설계할게" ⑥"csv 형태로 제작해줘" / "워크플로우 설계할 때 ponytail 스킬을 써줘". **C13 위반 자진 보고** — 본 6건이 대화로그에만 기록되고 본 트래킹 로그에 미등록 상태였음(pm-auditor 감사 Critical 적발). 소급 등록. **[2026-08-21 인게임·메타·밸런스 일괄 집행]** PD "전부 진행해" 승인 — 1차 인게임 완결(A10 분신 10종 정합·일시정지·적 HP바, `77bd835`·`ee9ec11`) + 3차 상점·Hero 메타 결선(SurvivalMeta 분리 신설, `57a8fcf`) + 4차 결함 해소(penetrate_ratio 함정·A13 사거리·waveInStage 산식·이중 SOT, `7728a41`) + 5차 S3 v2 밸런스 확정 반영(42/1/14/+3, plan-auditor 재검증 통과, `d5dea4d`). 상세: 공유/대화로그/GodDem/2026-08-21.md §3~§12. **[2026-08-22 밸런스 원작이탈 지적·2층 재구현]** PD 플레이 실측 지적 — 공격력이 원작 2층(정액 hero_level power + 배율 attack_add) 중 배율만·축소, 정액 트랙 누락 / 몬스터 원작 소스 부재. 근본 = 본 로그 사후조치 (2) "스케일 재조정 방침"을 PD 재확인 없이 진행한 C36 위반이 플레이로 표면화. PD "이 방향으로 재구현해" 승인 → 공격력 원작 2층 복원 착수 (C49: balance-designer 재설계 → plan-auditor 검증 → 개발팀장 구현). memory `feedback_pd_directive_altered_to_rescale` 신설. **[완료 2026-08-22 GodDem `26ff655`]** 공격력 원작 2층 복원 완결 — APK 재추출로 배율(0.05~0.30)=원작 attack_add prefix-10 원본 확정(이탈 아님)·정액 트랙 `attack`(30~600) 신설로 2층 복원·C49 이중검증(balance v2→plan-auditor 통과)·플레이테스트 2층 산술 정확 재현(22~1691). PD 지적 (a)(b) "정액 누락" 단일원인 해소. 부수 강화테이블 전수 원작 정합 확인. **잔여 = R-M2(정액 몰빵 스테이지1 보스 3.5배 오버킬) 조정 방향 PD/balance 판단 1건**. 상세 대화로그 §15~§20. **[2026-08-22 원작 아키텍처 전면 이식 착수·대규모]** PD 지적 2건("총 스테이지 구성 원작 동일"·"능력치가 원작보다 훨씬 적음·원작은 아웃게임 확장") → PD 결정 "원작 데이터 아키텍처 전면 이식이 맞아"+"이대로 진행". 실측 gap 3축(능력치 24 vs 13·아웃게임 5층 vs 1층·스테이지 6구간 vs 무한). 근본=초기 MVP 전환 원작 축소(feedback_pd_directive_altered_to_rescale 연장). P32 분할: 1단계 balance-designer 이식청사진 → 2단계 system-designer 메타재설계 → 3단계 축별 구현. 상세 대화로그 §21. **[P1 완료·P2 착수 2026-08-22]** 청사진 v1 완료(`b5d95cc`, 능력치 24종/PvE 18·아웃게임 5층·스테이지=원작 teamwavepassreward 54단계뿐/StageBalance는 GodDem 자산 정정·재사용3/확장3). PD 결정: 가챠 원작대로 도입(과금 신설)·현 세션 P2 계속. P2 system-designer 메타 아키텍처 재설계 착수(5층·능력치18 배치·인게임/아웃게임 경계 재정의). 상세 §22~§23. **[P2 완료 2026-08-22]** 메타 아키텍처 재설계 v1 완료 — 5층 확정(①영웅레벨·②승급·③장비강화·④가챠·⑤스킬마스터리, 인게임 "런레벨"과 명칭 분리) + 능력치 18종 배치(청사진 §2-3 "미보유 5종" 정정: `stun_rate` 누락 확인·실제 6종) + ★결합 지점 정정(초안 "1곳"→plan-auditor 감사로 4개 호출부 확인, `SurvivalLobbyController.Hero.cs` 2곳 누락분 포함, `FinalAttack()`/`FinalHp()` 단일 캡슐화 메서드로 3중 SOT 재발 방지 설계) + 재사용/확장 판정(SurvivalMeta 확장·Upgrade/Skill 불변·ItemCatalog 확장·**ShopCatalog는 "구조 확장 필요"로 정정**, 확률 지급물 미지원 확인) + 신규 클래스 4·CSV 7종 골격 + P3 4서브페이즈 분할(B1레벨승급→B2장비→B4스킬→B3가챠). plan-auditor 모드A 감사 1회 수행(조건부통과, Critical 2·Major 6·Minor 4 — 전부 반영 후 확정). **PD 확인 대기 2건**: ①가챠 소비재화(골드 vs 젬, 원작 근거 부재 🔴) ②가챠 가격·확률 실값. **[P3-A 착수 2026-08-22]** PD 방향 확정 "설계대로 진행"(인게임 매판 리셋 + 아웃게임 영구성장이 매판 시작 베이스 = 영구성장 RPG, P2 경계재정의 그대로). P3-A 능력치 정리 착수(penetrate_ratio 이관·ele 2종 층확정·18종 체계). 후속 B1→B2→B4→B3(가챠)+C(스테이지 병렬). 상세 §25. **[P3-A 완료·B1 착수 2026-08-22]** P3-A GodDem `8684211`(penetrate ⑤이관·ele ⑤확정·StatCatalog SOT·plan-auditor 조건부통과). **★부수 성과**: 직전 공격력 2층의 attack 정액 트랙이 상점 미노출(소비O·상점X)로 플레이어 미도달이던 결함 발견·수정 — Play 실측 22→52 도달 회복(memory `feedback_shop_exposure_filter_source_both` 신설). P3-B1(레벨+승급) balance-designer 설계 착수 + 메타문서 ele④→⑤ 갱신. 상세 §26~§28. **[B1 설계완료·구현착수 2026-08-22]** balance-designer B1 설계(레벨1~60·승급0~11·매판 베이스 결합·plan-auditor 조건부통과). **★근본 발견**: 인게임 골드→아웃게임 전환 브릿지 부재(CurrencyManager.Add 0건)=영구성장 전제 미구현. **PD 결정**: "원작처럼 맞춰 전체 밸런싱 동일성 확인 후 추후 변경" → 유한캡(60/11) 원작 정합 확정·원작 충실 1차. 개발팀장 B1 구현 착수(전환 브릿지 최우선). 상세 §29~§31. **[B1 완료 2026-08-22 GodDem `a3f62ab`]** 영구 성장 첫 층 게임 진입 — 인게임 골드→아웃게임 영구재화 전환 브릿지 신설(크로스세션 영속 확증)·영웅레벨 1~60·승급 star0~11·매판 시작 베이스 결합(신규 22/400 불변)·defense 분리클램프. plan-auditor 통과(Minor1 NRE 3중 방어 동봉)·메타문서 유한캡 정정. 남은 B2(장비)→B4(스킬)→B3(가챠)+C(스테이지). 상세 §32~§34. **[B2 착수 2026-08-22]** PD "현 세션 B2 계속" + 지적 "세션 이동 되묻지 마"(feedback_session_transition_repeated_prompting 신설·세션 이동 재제안 중단). balance-designer 장비강화 Layer③ 설계 착수(heroequipment 정합·M수열 재추출). 상세 §35. **[B2 v1 완료·재추출 착수 2026-08-22]** B2 설계 v1(2축 레벨/등급·plan-auditor 조건부통과·Critical2 융합버그 재설계). **원작 M수열 재추출 미해소·역산** → PD "원작처럼 맞춰" 정합 위해 개발팀장 heroequipment 재추출 착수(공격력 재추출 선례·되묻지 않고 진행). 후속 B2 v2 재산정→검증→구현. 상세 §36~§37. **[재추출 완료·(A) 노선 확정 2026-08-22]** heroequipment 재추출 완료 — 매핑 §2-3 전부 정확(M수열 [1..200] 16단·등급 ×1/5/10/20/40/80·비용 Base+V·forging 전이 q2→6 정정). **(A) 형태 이식 확정**(구조 원작·스케일 재산정, 원작 M×200 절대이식은 게임 붕괴로 (B) 기각·B1/공격력/배율 일관). balance-designer B2 v2 착수(forging 정정·근거 격상). 상세 §38. **[B2 v2 통과·구현착수 2026-08-22]** B2 v2 plan-auditor 통과(신규결함0·재추출 형태정합·forging q2→6·무변경 승계·Improvement1 비차단=장비 진입시점 플레이테스트 튜닝). 개발팀장 B2 구현 착수(EquipLevel Version3·SecondaryStatKey·TryFuse 차단+환급·CSV룩업·강화 UI). 상세 §39~§41. **[B2 완료 2026-08-22 GodDem `bc07573`]** 영구 성장 둘째 층(장비 강화) 게임 진입 — 장비 레벨별 성장·매판 베이스 결합(신규 22/400 불변)·융합 환급 세탁차단·강화 UI 도달. plan-auditor 통과(7항)·개별 stage 커밋·push 완료. 남은 B4(스킬마스터리)→B3(가챠)+C(스테이지). 상세 §42~§44. **[B4 설계·구현착수 2026-08-22]** B4 스킬마스터리 설계(스킬 해금 드래프트 풀·그랜드파더 10종·마스터리 스탯 3종·데이터 v4·plan-auditor 조건부통과). **★이슈**: penetrate/ele 3종 적 방어·속성 시스템 부재로 소비처 없음(penetrate 사장 계열)→공격% 잠정 배선·PD 밸런싱 확인 영역. 개발팀장 구현 착수(C6 백업). 상세 §45~§46. **[B4 완료 2026-08-22 GodDem `54aea99`]** 영구 성장 셋째 층(스킬 마스터리) 게임 진입 — 액티브 해금 드래프트 풀·마스터리 스탯 3종·데이터 v4. plan-auditor 조건부통과→**C6 백업 Critical은 false negative**(Grep이 gitignore *.bak_* 스킵·백업 실존·개발팀장 정직·PM 자성·feedback 신설). 개발팀장 push 인증실패→PM 재시도 성공. 남은 C(스테이지)·B3(가챠). 상세 §47~§49. **[C 설계완료 2026-08-22]** 스테이지 = 원작 teamwavepassreward 54단계 유한캡(6스테이지×9챕터) 형태이식 — Stage 무한증가 폐기. StageStep(2.1→1.02)·ExpStep(1.2→1.002) 챕터 체감 재설계로 54제곱 폭발(HP 5.72×10¹⁹·경험치 킬1회당 145레벨업) 해소. 런완주 총액 414,018G 확정(B1 R-C2 미확정치 해소). plan-auditor 모드A 조건부통과(Critical4·Major7·Minor7 전량반영 — B2 기여분 +47→+141 정정, 인런 SkillAttackMul 누락 반영해 목표 BossHP 4,247,728→92,318,561 재조정). **★팀장·PD 확인 3건 상신**: ①Stage 유한화 방향 자체(B1 유비적용·PD 스테이지 직접 재확인 없음) ②teamwavepassreward 재추출 미해소 착수 타당성(청사진 "선행조건" 문자명시분 재해석) ③Stage55+ 동결 처리(청사진이 PD 확인영역으로 지목). **구현 착수는 3건 선해소 후**. 상세 §50. **[재추출·원작 유한 확정·C v2 착수 2026-08-22]** teamwavepassreward 재추출로 **원작 유한 설계 확정**(dif55+ 부재·loop 필드 없음·wildernesspk next_id 0 종료)→C v1 유한 캡(54) 원작 정합·PD "총 스테이지 원작 동일" 정합. 확인 3건 중 ②재추출 데이터 해소·①③(유한화 채택·55+ 처리)은 PD 방향 정합으로 진행(되묻지 않음). monsterteam 서버측 확정(HP 창작 유일). balance-designer C v2 재산정 착수(유한 격상·모드 구분·55+ 잠정). 상세 §51~§52. **[C v2 통과·구현착수 2026-08-22]** C v2 plan-auditor 통과(6항·유한 격상·모드 구분·수치 승계·source-based Stage54 보스 92M SOT). 개발팀장 C 구현 착수(EnemyStageChapter/WaveBalance CSV·Stage 클램프 54·55+ 동결). PD 결정: 유한화 PD "원작 동일" 정합·55+ 잠정 동결. **C 완료 시 5층 중 4층 완료**·남은 B3(가챠·PD 정책). 상세 §53~§54. **[C 완료·4층 완료 2026-08-22 GodDem `d7519eb`]** 스테이지 원작 유한 54단계·챕터 난이도 곡선(source-based Stage54 보스 92M)·55+ 동결·신규유저 S3 보존. plan-auditor 통과(6항)·PM push(개발팀장 인증실패). **영구 성장 4층 완료**(레벨·승급/장비/스킬마스터리/스테이지)·**남은 B3(가챠)만·PD 재화/가격/확률 정책 확인 필요**. 상세 §55~§57. **[B3 가챠 재추출 착수 2026-08-22]** PD 가챠 재화 지시 = 원작 로직 동일 이식(3옵션 선택 아님)·힌트 "인게임 뽑기 일반 골드·특정 시점만 유료 재화·제대로 실측". 개발팀장 원작 가챠 재추출 착수(재화 구조·특정 시점 조건·가중추첨·천장·가격). 후속 B3 설계→검증→구현=**5층 완성**. 상세 §58. **[가챠 재추출 완료·B3 설계 착수 2026-08-22]** **PD 힌트 🟢 정합** — 원작 이원결제(1차 소환권·2차 특정시점 젬)·골드 원작 뽑기 미사용→소환권→GodDem 골드 매핑으로 PD "골드 일반·특정시점 유료" 성립·메타 §10 블로커 데이터 해소. 천장 라이브러리 3단(10 소프트·30 하드 q5/q6 100%). balance-designer B3 설계 착수(재화·가챠대상 4종·천장·경제). 상세 §59. **[세션 종결·인수인계 2026-08-22]** PD "컨텍스트 한도·세션 공유·인수인계" → 인수인계서 `공유/조직공지/2026-08-22_세션인수인계.md`(C55 2계층·첫 프롬프트 템플릿). **원작 아키텍처 5층 중 4층 완료**(B1·B2·B4·C 게임 진입)·**B3 가챠만 미완**(재추출 완료·설계 세션종결로 미완·다음 세션 재착수). PD 결정 대기: penetrate/ele 소비처·Stage55+·가챠 IAP. git 인증 간헐(PM push). 상세 §60. **[B3 설계 재착수 2026-08-22 신 세션]** 인수인계 §0 복원(PM 실측: 인수인계서·재추출 원본 v1·본 로그·C30 `4299bf4`)·balance-designer B3 설계 재위임 — 재추출 §7 인계(소환권→골드 1차·젬 2차 대체·일일 무료 계승·가중추첨 합10000·가챠 결과물=GachaOption 4종 hit/stun/retaliate/combo·B4 창구 분리·젬 IAP는 PD 확인 대기 표기)+PM 보강 조건(기존 4층 골드 경제 정합 분석 의무)·BT 커밋 금지(산출 문서만). 천장 = PM 1차 선택 히어로 표준 소프트10/하드30(drawtype 102 libid 실측 확정치) — **기각안: 열쇠형 4/40**(재추출 §7-2 2지 중 후순위. GodDem 가챠 결과물=장비/옵션 성격상 재평가 여지 있어 balance-designer 판단 교체 허용 명기). 산출 `2026-08-22_P3B3_가챠_설계_v1.md`. pm-auditor 사전 감사 **조건부 통과**(S1 매니페스트 등록·M1 P3-C 산출물 stale·M2 사후조치 컬럼 stale·M3 천장 기각안 소멸 → 본 갱신에서 동시 정정). 후속 plan-auditor 검증→개발팀장 구현→PM push=**5층 완성**. 상세 §61. **[B3 완료·영구 성장 5층 완성 2026-08-23 GodDem `4a8fe30`]** 설계 3사이클(v1 차단 C3·M7·m5·I3 → v2 차단·신규 N-1·N-3=PD 결정 영역 → v3 확정판 조건부 통과·구현 인계 적격·병행 문서 정정 7건) · **PD 확정 2건**(불리 사실 고지 후 택일): N-1 옵션 4종 원작 raw값 유지(승산항 +1.08=기존 예산 0.64의 1.7배·골드효율 36.6배 고지·재계수화 기각) / N-3 가챠 접근 게이트 HeroLevel≥3(원작 hero_sys_unlock_level=3 포팅·젬가 하한·시작 젬 조정 기각) · **천장 최종 = 열쇠형 4/40 채택 — 본 행 재착수 시점 기재의 역전**(balance-designer 판단 교체·plan-auditor "feedback 항목5 모범 준수" 판정. **기각안 = 히어로 표준 10/30**〔PM 1차 선택이었으나 GodDem 가챠 결과물=장비라 원작 데이터 대응상 열쇠형이 정확〕) · V3-1 게이트 실효 실측(접근 1런 지연·통과 후 P(G5+) 73.9% 불변·가챠有 FinalAttack=전층만렙〔2,093,232G〕의 99.3~101.8%) **PD 고지 완료** · 개발팀장 구현(신규 5+수정 7·**Roslyn 실컴파일 에러 0**·**몬테카를로 2만 계정 설계치 정확 재현**〔17.15회/74.9회/8.90%/+1.0802〕·§11 시나리오 16건·회귀 없음 22/400·B2 9종·C6 백업 7종 `공유/개발팀_백업/GodDem/*.bak_20260823_0048` **PM 실존 확인**〔pm-auditor M-2 탐색 범위 누락 false negative 정정〕) · 구현 신규 발견 2건(장비 인벤토리 9칸→15종 프레임 부족·런타임 격자 복제 해소 / 능력치 패널 승산항 분해 표기 B4 시점부터 불일치·정정)·구현 판단 5건(Owned 재사용·옵션 변환 로더 단일화·비용 코드상수=§10-4 위임·비복원 불변식·가챠 패널 앵커) · **PM push 1차 성공**(`d7519eb..4a8fe30`) · pm-auditor 완결 감사 조건부(B-2 천장 기각안 역전·M-1 대기 8건 재구성·M-3 `.live/` 채널 부재 조직 생존급 — 본 갱신 반영). 상세 대화로그 2026-08-22 §61~§64 · 2026-08-23 §65~§73. | **진행중** | ①레포 검토 완료·`공유/대화로그/GodDem/2026-08-19.md` ②`.claude/settings.json` dontAsk+allow 확장 (커밋 `7366860`·`c4a5dfd`) ③설계도 `공유/기획/GodDem/2026-08-19_인게임_중앙디펜스_전환_설계_v1.md` (커밋 `4346d4d`) ④⑤**복호화 성공** — 22바이트 반복 XOR·`libil2cpp.so` 리버싱 불필요. 원작 밸런스 237테이블 복호화 ⑥**CSV 230종/22,261행** 변환·PD 전달. 종합 매핑 SOT `공유/기획/GodDem/2026-08-20_원작밸런스_해독_매핑_v1.md`. **P1 청사진** `공유/기획/GodDem/2026-08-22_원작아키텍처_이식청사진_v1.md`(`b5d95cc`, 산출물 경로 누락분 소급 추가·pm-auditor 지적). **P2 메타 재설계** `공유/기획/GodDem/2026-08-22_메타아키텍처_재설계_v1.md`(system-designer, plan-auditor 검증 완료). **P3-B1** `공유/기획/GodDem/2026-08-22_P3B1_레벨승급_설계_v1.md`(GodDem `a3f62ab`). **P3-B2** `공유/기획/GodDem/2026-08-22_P3B2_장비강화_설계_v2.md`(v1 병존, GodDem `bc07573`). **P3-B4** `공유/기획/GodDem/2026-08-22_P3B4_스킬마스터리_설계_v1.md`(GodDem `54aea99`). **P3-C** `공유/기획/GodDem/2026-08-22_P3C_스테이지_설계_v2.md`(v1 병존, GodDem `d7519eb` 구현 완료). **재추출 원본 4종** `공유/기획/GodDem/2026-08-22_원작{배율,장비,스테이지,가챠}_재추출_원본_v1.md`. **세션 인수인계서** `공유/조직공지/2026-08-22_세션인수인계.md`. **P3-B3** `공유/기획/GodDem/2026-08-22_P3B3_가챠_설계_v3.md`(v1·v2 병존·대체 배너, GodDem `4a8fe30`; 감사 3종 `2026-08-22_P3B3_가챠_설계_{v1,v2,v3}_감사결과.md`). | — | **PD 결정 대기**: (1) 복호화 XOR 키의 조직 기록 보존 가부 (타사 기술적 보호조치 우회 수단 — PM 재량 밖, C36-2 보수 선택으로 문서에서 마스킹·빈도분석 재현 가능 상태 유지) (2) penetrate/ele 3종 소비처 없음(B4) — 적 방어/속성 시스템 부재로 공격% 잠정 배선·원작 의미 복원은 시스템 신설(큰 작업)·PD 밸런싱 확인 영역 (3) Stage55+ 처리(C) — 잠정 ①동결·PD 추후(②최고반복/③엔딩) (4) **가챠 8건**(SOT = v3 §13·2026-08-23 pm-auditor M-1 재구성): ①젬팩 IAP 실화폐 가격(placeholder 0원) ②천장 열쇠형 4/40 채택 확인(PM 권고 대비 designer 판단 교체 — 원작 이탈 아님) ③stun_rate 전투 로직 신설 여부(현 저장만·UI "(미적용)") ④forging 활성화 여부(재료 재화 미정의) ⑤~⑧**원작 이탈 4건**: Pool1 티어 구성 3.8배 관대화·10연 상품 계열 교차(열쇠형 라인에 원작 10연 부재)·10연 천장 적용(원작 212는 확률 고정형)·젬 단가 재도출(20→13, ÷32 환산). (구 4건 중 "가챠 젬 IAP"는 본 8건 ①로 세분 승계 — 2026-08-23 현행화) **다음 단계**: PD 플레이 검증(Unity 기동 시 신규 .meta 임포트 → 로비 영웅레벨3 달성 → 가챠 해금·뽑기·장착·강화 가드 확인) → 전체 플레이테스트(챕터2~9 곡선·아웃게임 결합·R-J/R-M2)·PD 밸런싱 확인 → 완료 아카이브. **별건 백로그**: 기존 성장 패널 3종(B1·B2·B4) UI 좌표 어긋남(§71 실측·범위 밖 보존)·v3 §9 코드조각 raw저장 표기 잔존(구현은 로더 변환 채택·설계 문서 내부 불일치 1건)·`.live/` Live 채널 부재(P25 비가동·pm-auditor M-3 **조직 생존급**·PM 복원 안건)·가챠 장비 전용 아이콘(content-designer)·git 인증 간헐 진단. **블로커**: git 인증 간헐 — 서브에이전트 push 반복 실패·PM 세션 1차 실패 2회/재시도 성공(본 세션 누적)·팀원 커밋분 PM push 운용·별건 진단 미완. **저작권 방침**: 원작 수치는 참고, 아트·텍스트 리소스 사용 불가. 추출물 레포 미커밋(git 실측 확인). | +| BT13-GodDem | 2026-08-19~20 | **GodDem 프로젝트 개시 + 인게임 「황야의 생존자」형 전환** — PD 직접 지시 6건 연속. ①(2026-08-19) "이 세션은 우리 조직의 새로운 프로젝트인 GodDem 프로젝트 개발을 위한 세션이야. 현재 프로젝트 레포는 'E:\NerdNavis\GodDem' 이므로 코드 및 프로젝트를 제대로 검토해보고 개발할 준비가 되면 보고해." ②"앞으로는 도구 사용을 묻지 않도록 자동으로 도구 승인처리해" (+ ToolSearch·MCP 리소스 도구·`.claude/**` 편집 영구 허용 반복 지시) ③"인게임을 유튜브(https://youtu.be/cBVc0OwUX6U 황야의 생존자) 영상과 같은 형태로 변경. 더미 리소스(기존 자산)로 기본 시스템 동일 설계·인게임 씬 배치. **아웃게임 유지, 인게임 씬만 변경**" + 전투 명세 4항(플레이어 중앙 고정 자동공격 / 매판 리셋 로그라이크 스텟 강화 / 10웨이브 보스·스테이지 클리어 / **신규: 경험치→레벨업마다 특수 스킬 3종 택1**) ④"원작 APK 디컴파일해서 게임 로직·데이터 분석. 능력치·성장 수치·강화 비용 등 밸런스 데이터를 그대로 활용하고 싶다" ⑤"FABLE5로 원작 복호화 리버싱을 먼저 시도해봐. 안되면 자체 수치로 설계할게" ⑥"csv 형태로 제작해줘" / "워크플로우 설계할 때 ponytail 스킬을 써줘". **C13 위반 자진 보고** — 본 6건이 대화로그에만 기록되고 본 트래킹 로그에 미등록 상태였음(pm-auditor 감사 Critical 적발). 소급 등록. **[2026-08-21 인게임·메타·밸런스 일괄 집행]** PD "전부 진행해" 승인 — 1차 인게임 완결(A10 분신 10종 정합·일시정지·적 HP바, `77bd835`·`ee9ec11`) + 3차 상점·Hero 메타 결선(SurvivalMeta 분리 신설, `57a8fcf`) + 4차 결함 해소(penetrate_ratio 함정·A13 사거리·waveInStage 산식·이중 SOT, `7728a41`) + 5차 S3 v2 밸런스 확정 반영(42/1/14/+3, plan-auditor 재검증 통과, `d5dea4d`). 상세: 공유/대화로그/GodDem/2026-08-21.md §3~§12. **[2026-08-22 밸런스 원작이탈 지적·2층 재구현]** PD 플레이 실측 지적 — 공격력이 원작 2층(정액 hero_level power + 배율 attack_add) 중 배율만·축소, 정액 트랙 누락 / 몬스터 원작 소스 부재. 근본 = 본 로그 사후조치 (2) "스케일 재조정 방침"을 PD 재확인 없이 진행한 C36 위반이 플레이로 표면화. PD "이 방향으로 재구현해" 승인 → 공격력 원작 2층 복원 착수 (C49: balance-designer 재설계 → plan-auditor 검증 → 개발팀장 구현). memory `feedback_pd_directive_altered_to_rescale` 신설. **[완료 2026-08-22 GodDem `26ff655`]** 공격력 원작 2층 복원 완결 — APK 재추출로 배율(0.05~0.30)=원작 attack_add prefix-10 원본 확정(이탈 아님)·정액 트랙 `attack`(30~600) 신설로 2층 복원·C49 이중검증(balance v2→plan-auditor 통과)·플레이테스트 2층 산술 정확 재현(22~1691). PD 지적 (a)(b) "정액 누락" 단일원인 해소. 부수 강화테이블 전수 원작 정합 확인. **잔여 = R-M2(정액 몰빵 스테이지1 보스 3.5배 오버킬) 조정 방향 PD/balance 판단 1건**. 상세 대화로그 §15~§20. **[2026-08-22 원작 아키텍처 전면 이식 착수·대규모]** PD 지적 2건("총 스테이지 구성 원작 동일"·"능력치가 원작보다 훨씬 적음·원작은 아웃게임 확장") → PD 결정 "원작 데이터 아키텍처 전면 이식이 맞아"+"이대로 진행". 실측 gap 3축(능력치 24 vs 13·아웃게임 5층 vs 1층·스테이지 6구간 vs 무한). 근본=초기 MVP 전환 원작 축소(feedback_pd_directive_altered_to_rescale 연장). P32 분할: 1단계 balance-designer 이식청사진 → 2단계 system-designer 메타재설계 → 3단계 축별 구현. 상세 대화로그 §21. **[P1 완료·P2 착수 2026-08-22]** 청사진 v1 완료(`b5d95cc`, 능력치 24종/PvE 18·아웃게임 5층·스테이지=원작 teamwavepassreward 54단계뿐/StageBalance는 GodDem 자산 정정·재사용3/확장3). PD 결정: 가챠 원작대로 도입(과금 신설)·현 세션 P2 계속. P2 system-designer 메타 아키텍처 재설계 착수(5층·능력치18 배치·인게임/아웃게임 경계 재정의). 상세 §22~§23. **[P2 완료 2026-08-22]** 메타 아키텍처 재설계 v1 완료 — 5층 확정(①영웅레벨·②승급·③장비강화·④가챠·⑤스킬마스터리, 인게임 "런레벨"과 명칭 분리) + 능력치 18종 배치(청사진 §2-3 "미보유 5종" 정정: `stun_rate` 누락 확인·실제 6종) + ★결합 지점 정정(초안 "1곳"→plan-auditor 감사로 4개 호출부 확인, `SurvivalLobbyController.Hero.cs` 2곳 누락분 포함, `FinalAttack()`/`FinalHp()` 단일 캡슐화 메서드로 3중 SOT 재발 방지 설계) + 재사용/확장 판정(SurvivalMeta 확장·Upgrade/Skill 불변·ItemCatalog 확장·**ShopCatalog는 "구조 확장 필요"로 정정**, 확률 지급물 미지원 확인) + 신규 클래스 4·CSV 7종 골격 + P3 4서브페이즈 분할(B1레벨승급→B2장비→B4스킬→B3가챠). plan-auditor 모드A 감사 1회 수행(조건부통과, Critical 2·Major 6·Minor 4 — 전부 반영 후 확정). **PD 확인 대기 2건**: ①가챠 소비재화(골드 vs 젬, 원작 근거 부재 🔴) ②가챠 가격·확률 실값. **[P3-A 착수 2026-08-22]** PD 방향 확정 "설계대로 진행"(인게임 매판 리셋 + 아웃게임 영구성장이 매판 시작 베이스 = 영구성장 RPG, P2 경계재정의 그대로). P3-A 능력치 정리 착수(penetrate_ratio 이관·ele 2종 층확정·18종 체계). 후속 B1→B2→B4→B3(가챠)+C(스테이지 병렬). 상세 §25. **[P3-A 완료·B1 착수 2026-08-22]** P3-A GodDem `8684211`(penetrate ⑤이관·ele ⑤확정·StatCatalog SOT·plan-auditor 조건부통과). **★부수 성과**: 직전 공격력 2층의 attack 정액 트랙이 상점 미노출(소비O·상점X)로 플레이어 미도달이던 결함 발견·수정 — Play 실측 22→52 도달 회복(memory `feedback_shop_exposure_filter_source_both` 신설). P3-B1(레벨+승급) balance-designer 설계 착수 + 메타문서 ele④→⑤ 갱신. 상세 §26~§28. **[B1 설계완료·구현착수 2026-08-22]** balance-designer B1 설계(레벨1~60·승급0~11·매판 베이스 결합·plan-auditor 조건부통과). **★근본 발견**: 인게임 골드→아웃게임 전환 브릿지 부재(CurrencyManager.Add 0건)=영구성장 전제 미구현. **PD 결정**: "원작처럼 맞춰 전체 밸런싱 동일성 확인 후 추후 변경" → 유한캡(60/11) 원작 정합 확정·원작 충실 1차. 개발팀장 B1 구현 착수(전환 브릿지 최우선). 상세 §29~§31. **[B1 완료 2026-08-22 GodDem `a3f62ab`]** 영구 성장 첫 층 게임 진입 — 인게임 골드→아웃게임 영구재화 전환 브릿지 신설(크로스세션 영속 확증)·영웅레벨 1~60·승급 star0~11·매판 시작 베이스 결합(신규 22/400 불변)·defense 분리클램프. plan-auditor 통과(Minor1 NRE 3중 방어 동봉)·메타문서 유한캡 정정. 남은 B2(장비)→B4(스킬)→B3(가챠)+C(스테이지). 상세 §32~§34. **[B2 착수 2026-08-22]** PD "현 세션 B2 계속" + 지적 "세션 이동 되묻지 마"(feedback_session_transition_repeated_prompting 신설·세션 이동 재제안 중단). balance-designer 장비강화 Layer③ 설계 착수(heroequipment 정합·M수열 재추출). 상세 §35. **[B2 v1 완료·재추출 착수 2026-08-22]** B2 설계 v1(2축 레벨/등급·plan-auditor 조건부통과·Critical2 융합버그 재설계). **원작 M수열 재추출 미해소·역산** → PD "원작처럼 맞춰" 정합 위해 개발팀장 heroequipment 재추출 착수(공격력 재추출 선례·되묻지 않고 진행). 후속 B2 v2 재산정→검증→구현. 상세 §36~§37. **[재추출 완료·(A) 노선 확정 2026-08-22]** heroequipment 재추출 완료 — 매핑 §2-3 전부 정확(M수열 [1..200] 16단·등급 ×1/5/10/20/40/80·비용 Base+V·forging 전이 q2→6 정정). **(A) 형태 이식 확정**(구조 원작·스케일 재산정, 원작 M×200 절대이식은 게임 붕괴로 (B) 기각·B1/공격력/배율 일관). balance-designer B2 v2 착수(forging 정정·근거 격상). 상세 §38. **[B2 v2 통과·구현착수 2026-08-22]** B2 v2 plan-auditor 통과(신규결함0·재추출 형태정합·forging q2→6·무변경 승계·Improvement1 비차단=장비 진입시점 플레이테스트 튜닝). 개발팀장 B2 구현 착수(EquipLevel Version3·SecondaryStatKey·TryFuse 차단+환급·CSV룩업·강화 UI). 상세 §39~§41. **[B2 완료 2026-08-22 GodDem `bc07573`]** 영구 성장 둘째 층(장비 강화) 게임 진입 — 장비 레벨별 성장·매판 베이스 결합(신규 22/400 불변)·융합 환급 세탁차단·강화 UI 도달. plan-auditor 통과(7항)·개별 stage 커밋·push 완료. 남은 B4(스킬마스터리)→B3(가챠)+C(스테이지). 상세 §42~§44. **[B4 설계·구현착수 2026-08-22]** B4 스킬마스터리 설계(스킬 해금 드래프트 풀·그랜드파더 10종·마스터리 스탯 3종·데이터 v4·plan-auditor 조건부통과). **★이슈**: penetrate/ele 3종 적 방어·속성 시스템 부재로 소비처 없음(penetrate 사장 계열)→공격% 잠정 배선·PD 밸런싱 확인 영역. 개발팀장 구현 착수(C6 백업). 상세 §45~§46. **[B4 완료 2026-08-22 GodDem `54aea99`]** 영구 성장 셋째 층(스킬 마스터리) 게임 진입 — 액티브 해금 드래프트 풀·마스터리 스탯 3종·데이터 v4. plan-auditor 조건부통과→**C6 백업 Critical은 false negative**(Grep이 gitignore *.bak_* 스킵·백업 실존·개발팀장 정직·PM 자성·feedback 신설). 개발팀장 push 인증실패→PM 재시도 성공. 남은 C(스테이지)·B3(가챠). 상세 §47~§49. **[C 설계완료 2026-08-22]** 스테이지 = 원작 teamwavepassreward 54단계 유한캡(6스테이지×9챕터) 형태이식 — Stage 무한증가 폐기. StageStep(2.1→1.02)·ExpStep(1.2→1.002) 챕터 체감 재설계로 54제곱 폭발(HP 5.72×10¹⁹·경험치 킬1회당 145레벨업) 해소. 런완주 총액 414,018G 확정(B1 R-C2 미확정치 해소). plan-auditor 모드A 조건부통과(Critical4·Major7·Minor7 전량반영 — B2 기여분 +47→+141 정정, 인런 SkillAttackMul 누락 반영해 목표 BossHP 4,247,728→92,318,561 재조정). **★팀장·PD 확인 3건 상신**: ①Stage 유한화 방향 자체(B1 유비적용·PD 스테이지 직접 재확인 없음) ②teamwavepassreward 재추출 미해소 착수 타당성(청사진 "선행조건" 문자명시분 재해석) ③Stage55+ 동결 처리(청사진이 PD 확인영역으로 지목). **구현 착수는 3건 선해소 후**. 상세 §50. **[재추출·원작 유한 확정·C v2 착수 2026-08-22]** teamwavepassreward 재추출로 **원작 유한 설계 확정**(dif55+ 부재·loop 필드 없음·wildernesspk next_id 0 종료)→C v1 유한 캡(54) 원작 정합·PD "총 스테이지 원작 동일" 정합. 확인 3건 중 ②재추출 데이터 해소·①③(유한화 채택·55+ 처리)은 PD 방향 정합으로 진행(되묻지 않음). monsterteam 서버측 확정(HP 창작 유일). balance-designer C v2 재산정 착수(유한 격상·모드 구분·55+ 잠정). 상세 §51~§52. **[C v2 통과·구현착수 2026-08-22]** C v2 plan-auditor 통과(6항·유한 격상·모드 구분·수치 승계·source-based Stage54 보스 92M SOT). 개발팀장 C 구현 착수(EnemyStageChapter/WaveBalance CSV·Stage 클램프 54·55+ 동결). PD 결정: 유한화 PD "원작 동일" 정합·55+ 잠정 동결. **C 완료 시 5층 중 4층 완료**·남은 B3(가챠·PD 정책). 상세 §53~§54. **[C 완료·4층 완료 2026-08-22 GodDem `d7519eb`]** 스테이지 원작 유한 54단계·챕터 난이도 곡선(source-based Stage54 보스 92M)·55+ 동결·신규유저 S3 보존. plan-auditor 통과(6항)·PM push(개발팀장 인증실패). **영구 성장 4층 완료**(레벨·승급/장비/스킬마스터리/스테이지)·**남은 B3(가챠)만·PD 재화/가격/확률 정책 확인 필요**. 상세 §55~§57. **[B3 가챠 재추출 착수 2026-08-22]** PD 가챠 재화 지시 = 원작 로직 동일 이식(3옵션 선택 아님)·힌트 "인게임 뽑기 일반 골드·특정 시점만 유료 재화·제대로 실측". 개발팀장 원작 가챠 재추출 착수(재화 구조·특정 시점 조건·가중추첨·천장·가격). 후속 B3 설계→검증→구현=**5층 완성**. 상세 §58. **[가챠 재추출 완료·B3 설계 착수 2026-08-22]** **PD 힌트 🟢 정합** — 원작 이원결제(1차 소환권·2차 특정시점 젬)·골드 원작 뽑기 미사용→소환권→GodDem 골드 매핑으로 PD "골드 일반·특정시점 유료" 성립·메타 §10 블로커 데이터 해소. 천장 라이브러리 3단(10 소프트·30 하드 q5/q6 100%). balance-designer B3 설계 착수(재화·가챠대상 4종·천장·경제). 상세 §59. **[세션 종결·인수인계 2026-08-22]** PD "컨텍스트 한도·세션 공유·인수인계" → 인수인계서 `공유/조직공지/2026-08-22_세션인수인계.md`(C55 2계층·첫 프롬프트 템플릿). **원작 아키텍처 5층 중 4층 완료**(B1·B2·B4·C 게임 진입)·**B3 가챠만 미완**(재추출 완료·설계 세션종결로 미완·다음 세션 재착수). PD 결정 대기: penetrate/ele 소비처·Stage55+·가챠 IAP. git 인증 간헐(PM push). 상세 §60. **[B3 설계 재착수 2026-08-22 신 세션]** 인수인계 §0 복원(PM 실측: 인수인계서·재추출 원본 v1·본 로그·C30 `4299bf4`)·balance-designer B3 설계 재위임 — 재추출 §7 인계(소환권→골드 1차·젬 2차 대체·일일 무료 계승·가중추첨 합10000·가챠 결과물=GachaOption 4종 hit/stun/retaliate/combo·B4 창구 분리·젬 IAP는 PD 확인 대기 표기)+PM 보강 조건(기존 4층 골드 경제 정합 분석 의무)·BT 커밋 금지(산출 문서만). 천장 = PM 1차 선택 히어로 표준 소프트10/하드30(drawtype 102 libid 실측 확정치) — **기각안: 열쇠형 4/40**(재추출 §7-2 2지 중 후순위. GodDem 가챠 결과물=장비/옵션 성격상 재평가 여지 있어 balance-designer 판단 교체 허용 명기). 산출 `2026-08-22_P3B3_가챠_설계_v1.md`. pm-auditor 사전 감사 **조건부 통과**(S1 매니페스트 등록·M1 P3-C 산출물 stale·M2 사후조치 컬럼 stale·M3 천장 기각안 소멸 → 본 갱신에서 동시 정정). 후속 plan-auditor 검증→개발팀장 구현→PM push=**5층 완성**. 상세 §61. **[B3 완료·영구 성장 5층 완성 2026-08-23 GodDem `4a8fe30`]** 설계 3사이클(v1 차단 C3·M7·m5·I3 → v2 차단·신규 N-1·N-3=PD 결정 영역 → v3 확정판 조건부 통과·구현 인계 적격·병행 문서 정정 7건) · **PD 확정 2건**(불리 사실 고지 후 택일): N-1 옵션 4종 원작 raw값 유지(승산항 +1.08=기존 예산 0.64의 1.7배·골드효율 36.6배 고지·재계수화 기각) / N-3 가챠 접근 게이트 HeroLevel≥3(원작 hero_sys_unlock_level=3 포팅·젬가 하한·시작 젬 조정 기각) · **천장 최종 = 열쇠형 4/40 채택 — 본 행 재착수 시점 기재의 역전**(balance-designer 판단 교체·plan-auditor "feedback 항목5 모범 준수" 판정. **기각안 = 히어로 표준 10/30**〔PM 1차 선택이었으나 GodDem 가챠 결과물=장비라 원작 데이터 대응상 열쇠형이 정확〕) · V3-1 게이트 실효 실측(접근 1런 지연·통과 후 P(G5+) 73.9% 불변·가챠有 FinalAttack=전층만렙〔2,093,232G〕의 99.3~101.8%) **PD 고지 완료** · 개발팀장 구현(신규 5+수정 7·**Roslyn 실컴파일 에러 0**·**몬테카를로 2만 계정 설계치 정확 재현**〔17.15회/74.9회/8.90%/+1.0802〕·§11 시나리오 16건·회귀 없음 22/400·B2 9종·C6 백업 7종 `공유/개발팀_백업/GodDem/*.bak_20260823_0048` **PM 실존 확인**〔pm-auditor M-2 탐색 범위 누락 false negative 정정〕) · 구현 신규 발견 2건(장비 인벤토리 9칸→15종 프레임 부족·런타임 격자 복제 해소 / 능력치 패널 승산항 분해 표기 B4 시점부터 불일치·정정)·구현 판단 5건(Owned 재사용·옵션 변환 로더 단일화·비용 코드상수=§10-4 위임·비복원 불변식·가챠 패널 앵커) · **PM push 1차 성공**(`d7519eb..4a8fe30`) · pm-auditor 완결 감사 조건부(B-2 천장 기각안 역전·M-1 대기 8건 재구성·M-3 `.live/` 채널 부재 조직 생존급 — 본 갱신 반영). 상세 대화로그 2026-08-22 §61~§64 · 2026-08-23 §65~§73. **[P3-B3-2 완료 2026-08-23 GodDem `7fe15ff`+`bfe738a`]** PD 직접 지시 5건 수령·전건 처리 완료(① 젬팩 IAP **보류** ② 기절 구현 ③ 합성 구현〔탕탕특공대 레퍼런스〕 ④⑤ 원작 이탈·penetrate/ele·Stage55+ 설명 보고 **발신 완료**) · 설계 2사이클(v1 차단 Critical3〔7종 도달 불가·플로어 역전·컴파일 불가〕 → v2 비대칭 사다리 신규 11종·재검증 조건부 통과·17행 플로어 배수 전량 검산) · **핵심 기각안**: (다) 슬롯별 사다리 비대칭 채택 — 기각 (가) 가챠 풀 편입〔v3 §6-1 재감사 스코프 초과〕·(나) 배출 등급 통일〔기구현·PD 확정 6종 변경 = C36 소지〕·Ring은 합성 제외 기본안(PD 확인) · 구현 `7fe15ff`(10파일·Roslyn 에러 0·회귀 무결) → 사후 감사 Major-A(`IsGachaItem` 술어 분열 — 합성 전용 11종 미보유 안내가 "뽑기에서 획득" 거짓 표기) → **술어 2분 근본 해결 `bfe738a`**(`IsGachaPoolItem` 신설·전 호출부 12곳 판정표·획득처 3분기 완전분할 어서션〔뽑기6·합성11·상점9〕·Captures/ gitignore) · **가챠 옵션 4종 전량 소비처 확보**(stun 배선 완결 = 가챠 v3 §13-3 해소) · 구현 신규 발견 2건(수집 카운터 6/17 선제 해소·StunChance 합성 완주 포화 1.20 관찰 → 설계 v2 §1-9-A 기재·후속 튜닝 관찰 분류) · C6 백업 실존·파일명 표준 위반(.cs 원본 확장자 탈락) 자진 등재·후속분부터 표준 적용 · GodDem push 완료(`4a8fe30..bfe738a` origin 반영) · **`.live/` P25 채널 복원**(pm-auditor 조직 생존급 2회 지적 해소 — plain 디렉토리·C34 junction 비사용·README 주입 제외 확인). 상세 대화로그 2026-08-23 §74~§84. | **진행중** | ①레포 검토 완료·`공유/대화로그/GodDem/2026-08-19.md` ②`.claude/settings.json` dontAsk+allow 확장 (커밋 `7366860`·`c4a5dfd`) ③설계도 `공유/기획/GodDem/2026-08-19_인게임_중앙디펜스_전환_설계_v1.md` (커밋 `4346d4d`) ④⑤**복호화 성공** — 22바이트 반복 XOR·`libil2cpp.so` 리버싱 불필요. 원작 밸런스 237테이블 복호화 ⑥**CSV 230종/22,261행** 변환·PD 전달. 종합 매핑 SOT `공유/기획/GodDem/2026-08-20_원작밸런스_해독_매핑_v1.md`. **P1 청사진** `공유/기획/GodDem/2026-08-22_원작아키텍처_이식청사진_v1.md`(`b5d95cc`, 산출물 경로 누락분 소급 추가·pm-auditor 지적). **P2 메타 재설계** `공유/기획/GodDem/2026-08-22_메타아키텍처_재설계_v1.md`(system-designer, plan-auditor 검증 완료). **P3-B1** `공유/기획/GodDem/2026-08-22_P3B1_레벨승급_설계_v1.md`(GodDem `a3f62ab`). **P3-B2** `공유/기획/GodDem/2026-08-22_P3B2_장비강화_설계_v2.md`(v1 병존, GodDem `bc07573`). **P3-B4** `공유/기획/GodDem/2026-08-22_P3B4_스킬마스터리_설계_v1.md`(GodDem `54aea99`). **P3-C** `공유/기획/GodDem/2026-08-22_P3C_스테이지_설계_v2.md`(v1 병존, GodDem `d7519eb` 구현 완료). **재추출 원본 4종** `공유/기획/GodDem/2026-08-22_원작{배율,장비,스테이지,가챠}_재추출_원본_v1.md`. **세션 인수인계서** `공유/조직공지/2026-08-22_세션인수인계.md`. **P3-B3** `공유/기획/GodDem/2026-08-22_P3B3_가챠_설계_v3.md`(v1·v2 병존·대체 배너, GodDem `4a8fe30`; 감사 3종 `2026-08-22_P3B3_가챠_설계_{v1,v2,v3}_감사결과.md`). **P3-B3-2** `공유/기획/GodDem/2026-08-23_P3B3-2_스턴_합성_설계_v2.md`(v1 병존·대체 배너, GodDem `7fe15ff`+`bfe738a`; 감사 전재 `2026-08-23_P3B3-2_스턴_합성_설계_v1_감사결과.md` — v2 재검증분은 전재 없음·대화로그 §77-B 요약). | — | **PD 결정 대기**: (1) 복호화 XOR 키의 조직 기록 보존 가부 (타사 기술적 보호조치 우회 수단 — PM 재량 밖, C36-2 보수 선택으로 문서에서 마스킹·빈도분석 재현 가능 상태 유지) (2) penetrate/ele 3종 소비처 없음(B4) — 적 방어/속성 시스템 부재로 공격% 잠정 배선·원작 의미 복원은 시스템 신설(큰 작업)·PD 밸런싱 확인 영역 (3) Stage55+ 처리(C) — 잠정 ①동결·PD 추후(②최고반복/③엔딩) (4) **가챠 5건 잔여**(SOT = v3 §13 원 8건 중 — 해소 2건: ③stun 배선 `7fe15ff` 완결·④forging 활성화 `7fe15ff` 구현 완결〔단 확정형/확률형 판정은 (5)로 승계〕 · 보류 1건: ①젬팩 IAP 실화폐 가격 — **PD 2026-08-23 보류**·재개 트리거 = PD 과금 착수 결정 시): ②천장 열쇠형 4/40 채택 확인(PM 권고 대비 designer 판단 교체 — 원작 이탈 아님) ⑤~⑧**원작 이탈 4건**: Pool1 티어 구성 3.8배 관대화·10연 상품 계열 교차(열쇠형 라인에 원작 10연 부재)·10연 천장 적용(원작 212는 확률 고정형)·젬 단가 재도출(20→13, ÷32 환산) (5) **P3-B3-2 신규 확인** — 〔PD 판정 필요 3건〕보스 기절 처리(잠정 30% 축소 vs 완전 면역·상수 1개 전환 가능)·합성 확정형(Survivor.io·잠정 채택) vs 확률형(원작 Wild Survival — 레퍼런스 상충 유일 지점)·Ring 합성 포함 여부(기본안 = 제외〔가챠가 이미 최고등급 배출〕) 〔플레이테스트 후 재판단 4건〕기절 지속 1.0초·면역 2.0초(원작 근거 없는 제안치)·합성 골드 3단(26,700/80,000/320,000)·합성 UI 배치(가챠 탭)·StunChance 포화(합성 완주 1.20·시간 상한 지배로 지속률 33.3% 고정 — 설계 v2 §1-9-A) **다음 단계**: PD 플레이 검증(Unity 기동 시 신규 .meta 임포트 → 로비 영웅레벨3 달성 → 가챠 해금·뽑기·장착·강화 가드 확인) → 전체 플레이테스트(챕터2~9 곡선·아웃게임 결합·R-J/R-M2)·PD 밸런싱 확인 → 완료 아카이브. **별건 백로그**: 기존 성장 패널 3종(B1·B2·B4) UI 좌표 어긋남(§71 실측·범위 밖 보존)·v3 §9 코드조각 raw저장 표기 잔존(구현은 로더 변환 채택·설계 문서 내부 불일치 1건)·가챠·합성 장비 전용 아이콘(content-designer)·git 인증 간헐 진단·**GodDem 워킹트리 asset churn 6건**(ONEMobilePOP_TMP -4145행·GUIPro 폰트 3종·DOTweenSettings·PanelSettings — PD Unity 산출 추정·조직 무접촉 보존·PD 보고 완료 2026-08-23 응답 대기). (구 백로그 `.live/` 부재·Captures/ gitignore는 2026-08-23 해소 — 복원·`bfe738a` 등재) **블로커**: git 인증 간헐 — 서브에이전트 push 반복 실패·PM 세션 1차 실패 2회/재시도 성공(본 세션 누적)·팀원 커밋분 PM push 운용·별건 진단 미완. **저작권 방침**: 원작 수치는 참고, 아트·텍스트 리소스 사용 불가. 추출물 레포 미커밋(git 실측 확인). | | BT12-Dev-Vis | 2026-05-09 | **PlayerSkillInventory 등록 시각화 지시** — PD 직접 발화: "PlayerSkillInventory 등록이 되었는지 어떻게 판단해야하지? 시각적인 변화가 없으니 확인이 불가능해. 유니티 기본 제공 리소스를 활용해도 좋으니 보이게 해줘." **[2026-05-13 후속 세션 신규 3건]** (1) 투사체 사거리 파란 박스 시각화 — `HitboxDebug.SpawnRange` 신규 (`Projectile.Initialize` 끝 호출·3초 유지·`HideFlags.DontSave`). (2) 사정거리·속도 Inspector 직접 조절 — `ActiveSkillData.MaxRange`·`ProjectileSpeed` 신규 필드 (`RangeTier`·`camWidth`·`mults` 계산 폐기·`PiercingProjectile._speed = 2.5f` override 폐기). (3) A04 ExtraHitFxPrefab + FX_Thunder Smoke — `ActiveSkillData.ExtraHitFxPrefab` 신규·`LightningStrikeSpawner.DelayedExtraHitFx` Coroutine (0.6초 후 spawn·y -0.5·비주얼 전용·판정 무관). EerieVillage `ab40b27` push 정합. **[2026-05-13 사고 정정]** 본 PM `git reset --hard origin/main` 영역 PD Inspector 작업 .asset 6 폐기 사고 발생. PD 보고 "스킬 관련 스크립터블 오브젝트가 full 이후 롤백되어버렸어" 수령. `git reflog` 영역 `e2bc95f` 보존 정합·.asset 6 복구·EerieVillage `5b2a032` push 정합. A04 ExtraHitFxPrefab (FX_Thunder Smoke) 영역 PD 후속 Inspector drag&drop 필요. 본 PM 자성 #4 (헌법급) 등재. **[2026-05-13 신규 2건]** (1) 디버그 박스·사거리 박스 시각화 off (재활용 toggle) — `HitboxDebug.ShowDebugVisuals` 플래그 신규·4 위치 `SpriteRenderer.enabled` 정합. (2) 레벨업 카드 풀 5종 한정 — `SkillRuntimeFactory.AvailableCardIds` 화이트리스트 (A02·A13·A04·A05·A_Laser)·미완성 placeholder 5종 (A01·A03·A08·A14·A15) 제외. EerieVillage `d26bd83` push 정합. **잔여**: A04·A05·A_Laser 영역 SkillFireEvent default return 영역 실전 발사 미연결 (카드 풀 한정 영역과 별개·PD 후속 결정 대기). **[2026-05-13 정정·진단]** (1) A05·A_Laser 박스 시각 off 누락 정정 — MeleeAreaSpawner·LaserSpawner 영역 직접 SpriteRenderer 부착 코드 (HitboxDebug 미경유) 영역 `sr.enabled = HitboxDebug.ShowDebugVisuals` 추가. 본 PM 자성 #5 (변경 영향 사전 grep 누락). (2) Player 피격 X 진단 Debug.Log 추가 (회수 의무) — EnemyController.Update L387-396 영역 `[EnemyHit][Intersect]`·`[EnemyHit][Decrement]` 2종. PD Console 측정 결과 영역 근본 fix·Debug.Log revert. EerieVillage `e8779df` push 정합. **[2026-05-13 신규]** 게임 시작 시 기본 파이어볼 A02 자동 습득 — `PlayerSkillInventory.StartingCardIds` (string[]) Inspector 필드·기본 `{ "A02" }`·`Start()` 영역 일괄 `AddSkillByCardId`. EerieVillage `0ad1325` push 정합. **[2026-05-13 신규 2건]** (1) Player 피격 X fix — EnemyController.Update L387-396 영역 `IsGrounded` 조건 폐기 (PD 표현 "닿아도" = ground·공중 무관 피격 의도)·진단 Debug.Log 2종 revert. (2) Enemy HP 30~40 random — `Health.RandomMaxHPRange` (Vector2Int) Inspector 필드 신규·Awake 영역 random·`maxHearts` 자동 산정·Enemy.prefab Inspector `(30, 40)` PD 직접 설정. 본 PM 자성 #6 (PD Console 측정 결과 미수신 영역 가설 fix 시도·feedback_pm_root_diagnosis_priority 약한 위반). EerieVillage `b4847b1` push 정합. **[2026-05-13 재발 정정]** (1) Enemy HP 30~40 자동 fallback — Health.Awake 영역 RandomMaxHPRange 미설정 + EnemyController 검출 → 자동 random. PD Inspector 의존 폐기. (2) Player 피격 distance 기반 강화 + 진단 Debug.Log 재추가 — `VisualBounds.Intersects OR dist < 1.5f` 단일 조건·`[EnemyHit]` 진단·회수 의무. 본 PM 자성 #7 (feedback_pm_root_diagnosis_priority 위반 누적). EerieVillage `2efcd34` push 정합. **[2026-05-13 신규]** Enemy·Player 사망 모션 y -0.5 오프셋 — EnemyDeath·PlayerDeath Execute 영역 Animator death/hurt Trigger 직전 `transform.position.y -= 0.5` 적용·sprite 위로 떠 보이는 현상 정정·collider 영향 X. EerieVillage `18b2125` push 정합. **[2026-05-13 신규]** 스킬 선택 UI 아이콘 fallback — SkillCardSlot.Bind 영역 card.Icon null 시 동적 원 sprite (32×32 알파) + 속성별 색상 (Fire 주황·Frost 하늘·Dark 보라·Lightning 노랑·Physical 흰). _glowEffect 동심원 빛 효과 alpha 0.3. EerieVillage `32ab76f` push 정합. **[2026-05-13 신규 2건]** (1) 사망 모션 y -0.5 → -0.3 (EnemyDeath·PlayerDeath). (2) 게임 시작 시 파이어볼 투사체 정지·잔존 fix — ProjectileSpawner.Trigger 영역 `facing.sqrMagnitude<0.01f` 시 `Vector2.right` fallback. 원인: Player.Facing 영역 (0,0) 영역 → _direction = (0,0) → _speed × 0 = 정지. EerieVillage `56a4a36` push 정합. **[2026-05-13 신규]** 투사체끼리 통과 fix — Projectile.OnTriggerEnter2D 영역 동족 Projectile skip (Wall·Enemy 판정 이전). 원인: fallback GO default Layer 0 영역 → isWall=true → 양쪽 SelfDestruct. EerieVillage `ebd7086` push 정합. **[2026-05-13 신규 4건]** (1) Player 사망 사라지는 현상 fix — PlayerDeath 영역 `Rigidbody2D.simulated=false` (gravity 정지·낙사 차단). (2·3) 제자리 부활·부활 모션·2초 무적 깜박 — PlayerSpawn 영역 `Teleport` 폐기·`health.Resurrect()` 호출 (currentHP=maxHP·invulnerableUntil=2초·Animator resurrect Trigger)·Rigidbody simulated=true 복원·PlayerInvulnerabilityFlash 자동 깜박. (4) FX 잔상 safety cap 5초 — LaserSpawner fx Destroy 누락 추가·LightningStrike·MeleeArea·Projectile.AutoDestroy 영역 `Mathf.Min(lifetime, 5f)` cap. EerieVillage `3a672f0` push 정합. **[2026-05-13 컴파일 에러 fix]** PlayerSpawn.cs CS0246 — using UnityEngine 누락·첫 줄 추가. 본 PM 자성 #8 (신규 type 사용 시 namespace using 사전 검증 누락). EerieVillage `c052d78` push 정합. **[2026-05-13 신규 3건]** (1) Player 죽는 모션 X fix — Player.controller parameter "hurt" 부재 측정·`SetTrigger("hit")`·`updateMode=UnscaledTime`. (2) 부활 모션 중 움직임 fix — PlayerSpawn simulated 복원 폐기·EnablePlayerInput 영역 이전. (3) 투사체 잔상 진단 — `[Projectile][SelfDestruct]`·`[Projectile][OnDestroy]` Debug.Log·회수 의무. 본 PM 자성 #9 (Animator parameter 사전 측정 누락). EerieVillage `69a1805` push 정합. **[2026-05-13 NullReferenceException + 잔존 근본 fix]** ProjectileSpawner.Trigger 영역 collider isTrigger=true 활성 시점 vs Initialize 호출 시점 race → OnTriggerEnter2D 영역 `_runtime=null` NullReferenceException → SelfDestruct 미호출 → 영구 잔존. fix: OnTriggerEnter2D 영역 `_runtime/_data == null` defensive return + Update 영역 `_data == null` 시 즉시 SelfDestruct. 본 PM 자성 #10 (race condition 사전 측정 누락). EerieVillage `1437720` push 정합. **[2026-05-13 신규 3건]** (1) 사망 팝업 타이밍 fix — LevelUpManager.HandleLevelUp 영역 Player 사망 상태 시 _pendingLevels 영역 저장·Update 영역 IsAlive 회복 시 표시. (2) Player 사망 y -0.3 추가 (누적 -0.6). (3) 투사체 잔상 강화 + 진단 — Projectile.Update 영역 lifetime+0.5 backup·Initialize·Trigger 영역 진단 Log·회수 의무. EerieVillage `b1931af` push 정합. **[2026-05-13 근본 원인 fix]** 재시작 시 정지 투사체 누적 — Time.timeScale=0 (LevelUp 등) 영역 Time.time·Invoke 정지 영역 영구 잔존. fix: Projectile `_spawnTime = Time.unscaledTime`·Update 영역 unscaledTime lifetime check·Invoke 폐기·CancelInvoke 추가 안전. 본 PM 자성 #11 (timeScale 영향 사전 측정 누락). EerieVillage `705d943` push 정합. **[2026-05-13 진단 Log 회수]** PD "사라졌어" 정합 작동 확인 후 진단 Debug.Log 5종 revert (ProjectileSpawner·Projectile.Initialize·SelfDestruct·OnDestroy·EnemyHit). Projectile.Update lifetime backup·CancelInvoke 안전망 보존. feedback_pm_root_diagnosis_priority 정합. EerieVillage `41fa4e4` push 정합. **[2026-05-13 신규 2건]** (1) MeleeArea 실전 발사 연결 — SkillFireEvent.Execute switch 영역 MeleeArea case·CardId 분기 (A04·A_Laser·기타). (2) FX AutoDestroy unscaledTime — FxAutoDestroyUnscaled MonoBehaviour 신규 (Object.Destroy 영역 timeScale 영향 fix)·전수 변경·WaitForSecondsRealtime. 본 PM 자성 #12 (Unity 표준 API timeScale 영향 사전 측정 누락). EerieVillage `26b0666` push 정합. **[2026-05-13 신규]** A04 번개 충격 적 유무 무관 자동 발동 — LightningStrikeSpawner.Trigger 영역 candidates 0 시 Player 위치 fallback spawn. A05·A_Laser = 이미 Player 위치 기준 발동·정합. EerieVillage `ebedf6d` push 정합. **[2026-05-13 InvalidOperationException Input System fix]** ParticleGroupView (2).cs 영역 삭제 (Scenes 폴더 영역 비정상 .cs·미사용·StandaloneInputModule 동적 부착 코드)·ProjectSettings activeInputHandler 1→2 (Both 모드·호환). 본 PM 자성 #13. EerieVillage `b30976a` push 정합. **[2026-05-13 본 PM 자성 #14 + fix 정정]** PD 직접 자성 지적 — 본 PM 직전 미승인 `.cs` 삭제 영역 정정. PD 재배치 후 ParticleGroupView (2).cs UnityEngine.Input → InputSystem 전환·activeInputHandler 2→1 revert. EerieVillage `b23e00f` push 정합. **[2026-05-13 Phase A]** A12 정화의 빛 신규·A08 저주의 화살 이펙트 적용 — ActiveSkillData.CastFxPrefab 신규·ProjectileSpawner.Trigger 영역 CastFx spawn·SkillRuntimeFactory.AvailableCardIds 7종 확장. **Phase B 대기** (A06 독 늪·A11 정령불 신규 Effector). EerieVillage `5077f5d` push 정합. **[2026-05-13 Phase B]** A06 독 늪·A11 정령불 신규 Effector + 1키·2키 매핑 — PoisonSwampSpawner/Instance/PoisonedEnemyMarker·SpiritFireSpawner/Instance 신규·SkillFireEvent switch PlacementPersistent·Minion case 확장·TestSkillFireOn1to5 Category 분기 추가·A06·A11 .asset 신규·SkillRuntimeFactory 9종. PD Inspector Player.prefab Skill1·Skill2 drag&drop 필요. EerieVillage `f292eb4` push 정합. **[2026-05-13 Phase B FX 재생 fix]** ParticleSystem 명시 `Play(true)` 호출 추가·PoisonSwampInstance 영역 BoxCollider2D·Rigidbody2D 자식 GO 분리 (ParticleSystem root 영향 차단). EerieVillage `b1b476a` push 정합. **[2026-05-13 A11 frame 제어]** FX_Rotating shield Animator frame 제어 — intro 1~88·loop 89~105 반복·outro 106~169 (남은 frame). Animator.Play(STATE_HASH, 0, normalizedTime) 매 frame 호출. EerieVillage `ebd0808` push 정합. **[2026-05-13 A12·A08·전수 FX Play]** 4 Spawner + Projectile 영역 ParticleSystem.Play(true) 명시 호출 전수 적용 (직전 b1b476a 영역 PoisonSwamp·SpiritFire만 적용 영역 영역 영역 보완). EerieVillage `68843a8` push 정합. **[2026-05-13 A08 sprite 방향 fix]** ActiveSkillData.ProjectileAngleOffset (float Range -360~360) 신규·Projectile.Initialize 영역 angle 보정·A08.asset 180 (FX_PinkMagicArrow sprite left→right). EerieVillage `71c3b7d` push 정합. **[2026-05-13 A08 FX 진단]** A08.asset GUID 정합·코드 정합 측정. PD 보고 영역 실측 진단 Debug.Log 추가 (회수 의무). EerieVillage `aa6cef1` push 정합. **[2026-05-13 CS1056 fix]** ProjectileSpawner.cs interpolated string `\"NULL\"` escape 영역 컴파일 에러·ternary 결과 변수 분리 fix. 본 PM 자성 #15 (Edit 후 컴파일 사전 검증 누락). EerieVillage `9879425` push 정합. **[2026-05-13 fileID 잘못된 측정 정정·자성 #16]** PD Inspector 측정 결과 영역 본 PM .asset 영역 fileID 영역 자식 GameObject 영역 매핑 영역. `grep -m 1` 영역 첫 GameObject 영역 = root 영역 영역 X. A08·A06·A12 .asset 영역 fileID 일괄 정정 (FX_PinkMagicArrow_Hit·FX_PinkArrow_Shoot·FX_Venom_Spray·FX_Icelight_Seal). 올바른 측정 = `awk m_Name + m_Father=0 정합`. EerieVillage `b26eb42`·`447ea92` push 정합. **[2026-05-13 CastFx 방향 + 진단 회수]** CastFx Instantiate 영역 facing+ProjectileAngleOffset+FxRotation 적용 (sprite 반대 방향 정정)·진단 Debug.Log 3종 revert. EerieVillage `7ad3319` push 정합. **[2026-05-13 A08 spawn 끝점·grace]** A08.asset OffsetDistance.x=1.5 (캐스팅 끝 spawn)·Projectile.OnTriggerEnter2D 영역 0.1초 grace 추가 (Hit FX Player 위치 회피). EerieVillage `eab215d` push 정합. **[2026-05-13 ScalingMode Hierarchy 전수]** 모든 fx spawn 영역 ParticleSystem.MainModule.scalingMode = Hierarchy 설정 (HitFxScale 정합 적용·7 파일 전수). EerieVillage `6ed6efe` push 정합. **[2026-05-14 자연 fade SelfDestruct]** Projectile.SelfDestruct 영역 즉시 Destroy 영역 → ParticleSystem Stop(emission)·Collider/박스 disable·_speed=0·0.5s 후 Destroy·FADE_START_RATIO 0.85. 발사 영역 영역 영역 trail 자연 연속. EerieVillage `2ee5084` push 정합. **[2026-05-14 A08 캐스팅 제거·적 조준]** A08.asset OffsetDistance.x=0·CastFx=null·TargetEnemyOnFire=1·ActiveSkillData.TargetEnemyOnFire 신규·ProjectileSpawner.Trigger 영역 nearest enemy 방향 발사. 벽·발판 관통 X 영역 = Projectile.Update Layer 0·16 OverlapPoint 영역 정합. EerieVillage `55ee4f3` push 정합. **[2026-05-14 HitFx sortingOrder·적 조준 하단]** 모든 hit fx (Projectile·LightningStrike·MeleeArea·Laser) Renderer.sortingOrder += 100 (Enemy 영역 위)·ProjectileSpawner TargetEnemyOnFire 영역 toEnemy.y -= 0.5 (hitbox 영역 영역 영역 적중). EerieVillage `eb33e64` push 정합. **[2026-05-14 적 조준 중간 보정]** toEnemy.y -= 0.5 → 0.25 (이전·1차 중간·너무 하단 정정). EerieVillage `b52c99d` push 정합. | **진행중** | 신규 `Assets/Scripts/MyUI/SkillInventoryHUD.cs` (OnGUI 좌상단·장착 액티브 DisplayName·Lv·CooldownRemaining/EffectiveCooldown·패시브 카운트). PlayerController.Awake 자동 부착. 보강: ProjectileSpawner fallback prefab에 SpriteRenderer + 동적 흰색 원 sprite + 속성별 색상 (Fire 주황·Frost 하늘·Dark 보라·Lightning 노랑·Physical 흰). Unity 기본 자원 활용 — Texture2D 동적 생성 16×16 알파 원. **[이펙트 개선 완료 2026-05-13]** (PD 지시 "이펙트 개선작업은 완료처리"). 본 세션 (`cranky-wescoff-e855b0`) 누적: (1) 5 스킬 통합 + 1~5 키 발사 시스템 — A02·A04·A05·A_Laser·A13 (EerieVillage `2ebf313`). (2) Inspector 즉시 반영 필드 확장 — HitboxSize·OffsetDistance(Vector2)·OffsetXY·FxRotation·HitFxScale·DamageFrameDelay·EnableRepeatDamage·MaxHitCount·RepeatFrameInterval. (3) hit 모션 + flash 연출 (붉은색·alpha 50%·1 frame) — Animator self-loop transition + Health.DecrementBypassInvulnWithHit. (4) Scene 잔존 박스·FX 6개 cleanup + HideFlags.DontSave 8 spawn 지점 (EerieVillage `60e28e3`) — Edit Mode execute_code 측정 시 Scene 오염 방지 표준 확립. (5) FxRotation 박스 미적용 분리 (EerieVillage `ea7d32f`) — 박스(판정) = facing 만 · 이펙트(시각) = facing + FxRotation. 4 case 검증 (facing R/L × FxRotation 0/90 박스 무반응·facing 좌/우 정확 반전). (6) A05 좌우 베기 이펙트 Player 동조 (EerieVillage `f6c6eb5`) — MeleeAreaSpawner.SetParent(true) 추가·Player 전진 시 이펙트 밀림 정정 (Δ+2.0 동조 측정). 양 레포 push 정합. | — | **이펙트 개선 영역 = 완료 처리.** HUD·Icon UI·Layer Lab 카드 정합 등 잔여 사항은 PD 후속 결정 대기. 인수인계서: `공유/조직공지/2026-05-13_BT12-Dev_세션종결인수인계.md`. **[이펙트 작업 완성 확정 2026-05-14]** (PD 발화 "스킬 이펙트 작업은 완성이야. 임의로 투사체 판정 범위나 크기 등이 바뀌지 않도록 지금 상태를 잘 기록해"). 본 PM SOT 신설: `프로젝트/EerieVillage/개발/spec/스킬_이펙트_확정_v1.md` — 13 활성 스킬 (A01·A02·A03·A04·A05·A06·A08·A11·A12·A13·A14·A15·A_Laser) 핵심 필드 표 + 박스↔이펙트 분리 원칙 + EerieVillage stamp `1a1de0c`. **변경 금지 원칙**: PD 직접 명시 지시 없이 임의 변경 금지. 변경 시 SOT §4 갱신 + commit + PD 보고 의무. 본 PM·차기 세션 PM 모두 본 SOT 준수. | | BT12-MVP-A | 2026-05-08 | **경험치·레벨업·스킬 카드 선택 UI** — PD 직접 지시 2건 (1) 적 처치 → EXP → 레벨업마다 스킬 카드 3개 선택 기능 (2) 레벨업 UI (스킬 효과 추후·UI만). PD 첨부 예시 영역 ("기술 선택" 화면 — 카드 3장 가로·색상 배너·원형 아이콘·동심원·"레벨 N"/"최대"·"확인" 버튼). PD 결정 (β) 채택 — BT12-Dev 보류 일부 해제·BT12-MVP-A 분리 항목 진행. **PD 결정 D안 (2026-05-09)** — 기능 우선·그래픽 디테일 차후 영역. | **D안 완료 2026-05-09** | [Phase 1 완료] `프로젝트/EerieVillage/개발/spec/BT12-MVP-A_설계_v1.md` (~600 라인). [Phase 2-A 완료] EerieVillage `047661c` — 시스템 코드 6 + JSON 테이블. [Phase 2-B 코드 완료] EerieVillage `5b2b753` — UI 컴포넌트 2 + LevelUpManager 통합. **[Phase 2-B asset 5 완료 2026-05-08]** EerieVillage `755a51c` — `Assets/Data/SkillPlaceholders/{A01_jineonbu, A05_hagikjin, P01_bonghwanggyeok, P12_saengmyeongkkot, AW01_cheonbugyeongmun}.asset` (5) + 각 .meta (5) + folder meta 2 = 12 파일. C49 표준 — Phase 1 dev-team-lead Opus 첫 정합 호출 + Phase 2 Sonnet 위임 + Phase 3 PM 검증. **dev-team-lead 자진 고지** — 설계서 v1 §2-4 영역 P01·P12·AW01 BT11-Plan v0.2 정합 X (3건 정정 적용). **설계서 v1 §2-4 + §7-1 정정 완료** (commit 후속). PD Editor 가이드 신규 `BT12-MVP-A_Phase2B_PDEditor가이드.md`. 대화로그 엔트리 10. | — | **PM 후속 대기**: ① Phase 2-B B (Prefab) + C (Scene 통합) — **PD 직접 발화 (2026-05-08): "단계1은 완료. 단계2, 3은 개발팀에서 작업해줘" + "E"** → 옵션 E 채택 (Claude Desktop Unity MCP 위임) → 본 PM 의뢰서 작성 `BT12-MVP-A_Phase2B_ClaudeDesktop의뢰서.md` (~16K) → PD Claude Desktop 새 세션 영역 의뢰서 첨부 영역 작업 진행 → EerieVillage commit·push → 본 worktree PM 보고 ② Phase 3 dev-team-lead 통합 검증 (Phase 1 + 2-A + 2-B asset + Prefab + Scene + BT5-Dev/BT7-Dev 회귀) ③ **단계 4 PD Play 검증** (적 처치 → EXP → 레벨업 → UI 노출 → 카드 선택 → 게임 재개) ④ 기획팀 별도 안건 — `01_카드_풀.md` line 114 P12 = "도약강화" 잔존 정정 (`02_스킬_효과_컨셉.md` line 381·418 영역 동기화 X) ⑤ icon sprite asset 5장 별도 작업 ⑥ 완료 아카이브 이동. (PD Editor 가이드 영역 = 옵션 D 보류 영역·차기 영역 활용 가능) | | BT12-Dev | 2026-04-24 23:00 | **스킬 시스템 설계 (C43 "개발팀" 호칭 직접 수령 + C49 시범 적용)** — PD 직접 지시 "개발팀은 기획서를 토대로 스킬 시스템 설계 진행". 기획서 v0.2 (`프로젝트/EerieVillage/기획/content/02_스킬_효과_컨셉.md` 액티브 6카테고리·패시브 5카테고리·각성 4패턴) + CSV v0.3 60종 (`프로젝트/EerieVillage/기획/content/02_스킬_효과_컨셉_v0.3.csv` UTF-8 BOM) 토대. C49 표준 프로세스 시범 적용 (개발팀장 Opus 설계 → 클라이언트팀 Sonnet 구현 → 개발팀장 검증) **[Phase 2-A 완료 2026-05-09]** Skills 13 파일 신규 EerieVillage `87710ba` (Interfaces 4 + Data 4 + Runtime 4 + Events 1). **[Phase 2-B 투사체 완료 2026-05-09]** Effectors 7 파일 신규 + SkillFireEvent 정정 EerieVillage `2f2790c` (Sonnet 자율 push·feedback `feedback_pm_sonnet_subagent_unauthorized_push.md` 신설). **[Phase 2-C 투사체 6 asset 완료 2026-05-09]** PD 결정 "(a)안" — 본 PM 직접 placeholder 수치 작성. EerieVillage `c01f25a` (14 파일·A01·A02·A03·A08·A14·A15 ActiveSkillData ScriptableObject). DisplayName 한글만 (한자 X). 차후 balance-designer 정식 수치. SOT 채택 = PD 본문 (A16 사신 강림·A17 오발탄·A18 죽음의 가시). Phase 2 분할 = (b) 5분할 + b-1 카테고리 6분할. **[Phase 2-D BT12-MVP-A 통합 정정 완료 2026-05-09]** EerieVillage `d53150b` — 6 파일 수정 + 9 .meta 보충. LevelUpManager._pool 제거 → SkillRuntimeFactory.RandomDraw3() · SkillSelectionUI/SkillCardSlot ActiveSkillData 시그니처 전환 · PlayerController Awake PlayerSkillInventory 자동 부착 · Projectile Layer Enemy fallback (Minor 1·proxy) · SkillRuntimeFactory.RandomDraw3 신규. Sonnet 의뢰서 "git add·commit·push 절대 금지" 명시 (feedback `feedback_pm_sonnet_subagent_unauthorized_push.md` 정합). Compile error 0건. pm-auditor Pass + Minor 1. | **진행중** | **[Phase 1 완료 2026-04-24]** 개발팀장 Opus 직접 설계 완결 — `프로젝트/EerieVillage/개발/spec/스킬_시스템_설계_v1.md` (1074 라인, 14 섹션). §1 아키텍처 4계층 · §2 인터페이스 4종(`ISkillRuntime`·`IActiveSkill`·`IPassiveSkill`·`IAwakeningSkill`) + ScriptableObject 3종(`ActiveSkillData`·`PassiveSkillData`·`AwakeningSkillData`) + `PlayerSkillInventory`·`PlayerStats` · §3 CSV→ScriptableObject→Runtime→Health.Decrement 데이터 흐름 + 카테고리 문자열 매핑 · §4 VS 순수형 자동 발동 사이클 (OnTime·OnHit·OnKill + `ActiveSkillRuntime.Tick(deltaTime)` 독립 Cooldown) · §5 `AwakeningManager` 3 조건 동시 충족 + 4 패턴 Dispatcher + 다중 각성 선택 UI · §6 카테고리 매핑 6+5+4 (B는 BT7-Dev `AttackHitbox` 재활용 · 나머지 5 효과 발동기 신설) · §7 Phase 2-A~E 작업 단위 분해 (스크립트 25개·테스트 10건·asset 60개) · §10 BT7-Dev 통합 영역 (Health·AttackHitbox·PlayerAttackTicker·PlayerController 완전 보존 · `Health.OnDamagedEvent` 확장 필요 명시) · §11 기각안 5건 + 대화로그 추가 2건 (총 7건 C32 초과). 대화로그 `공유/대화로그/EerieVillage/2026-04-24.md` `[BT12-Dev Phase 1 완료] 개발팀장 스킬 시스템 설계 v1 (1074 라인)` 엔트리 완결. **C48 3자문 전수 통과**로 Phase 2 클라이언트팀 Sonnet Task는 본 Task에서 호출하지 않고 **PM 차원 별도 위임** 권고 (C48·C49·C50 정합) | **기획서 확정 대기** (PD 2026-04-25 직접 지시 — "기획서 확정되기 전까지 작업 대기") | **재개 트리거**: 기획팀 v0.3 또는 v1.0 확정 + balance-designer 60종 수치 확정 + narrative-designer 카드명 세계관 재매핑 결정 → C50 Phase 2 사전 승인 옵션(a/b/c/d) PD 결정 → 분할 시 Phase 2-A~E 순차 진행 (인터페이스·SO → 중앙 컴포넌트 → 효과 발동기 → 60장 .asset → EditMode 테스트) → Phase 3 개발팀장 검증 → 완료 아카이브. **선행 차단 블로커**: `paths.local.json.UNITY_PROJECT_ROOT: __SET_PER_PC__` 미설정 — 재개 시 PD PC 경로 설정 필요. Phase 1 산출물 1074 라인 설계 문서는 보존 | diff --git a/공유/기획/GodDem/2026-08-23_P3B3-2_스턴_합성_설계_v2.md b/공유/기획/GodDem/2026-08-23_P3B3-2_스턴_합성_설계_v2.md index 73da1d9..fede37e 100644 --- a/공유/기획/GodDem/2026-08-23_P3B3-2_스턴_합성_설계_v2.md +++ b/공유/기획/GodDem/2026-08-23_P3B3-2_스턴_합성_설계_v2.md @@ -135,6 +135,18 @@ void Awake() **m-3 정정**: "완주 유저는 평균 초당 0.12회 기절 트리거 가능" 서술에 **전제를 명시**한다 — 이 수치는 **공격 쿨다운 약 3초**(`AttackCooldown` 저투자 초반 기준, 초당 1/3회 공격) 가정 시 0.36(36%)×(1/3)=0.12회/초로 산출된 것이다. `attack_speed_add` 투자로 쿨다운이 짧아지면 초당 프록 시도 자체는 늘어나 이 0.12 수치는 커지지만, **§1-5의 3초 면역 상한이 발동 "빈도"의 실질 상한이므로 공격속도가 얼마나 빨라지든 최종 결론("최소 3초당 1회 상한")은 변하지 않는다** — 이 강건성(robustness)이 시간 기반 상한 설계(§1-5)를 확률 기반 캡보다 우선한 핵심 근거임을 재확인한다. +## 1-9-A. 합성 완주 구간 StunChance 포화 — 후속 튜닝 관찰 (신규, 개발팀장 구현 관측 반영) + +**관측(개발팀장, GodDem `7fe15ff` 구현 중 — PM 상신)**: §1-9의 36% 기대 발동률은 **가챠 6종 완주**(각 슬롯 가챠 배출 등급 그대로, id10~15) 기준이다. **2부 합성까지 완주**(6슬롯 전부 G6 도달)하면 기대 StunChance는 **약 1.20(하한 0.96)**으로 크게 뛴다. + +**독립 재계산(C44)**: G6 등급 옵션 슬롯은 5개(§2부 무변경 전제) — 4종(hit/stun/retaliate/combo)이 먼저 1슬롯씩 확정 배정되고(스턴 슬롯 1개 확정) 5번째 슬롯만 4종 중 재추첨(1/4 확률로 스턴 중복). 아이템 1개당 기대 스턴 슬롯 수 = 1 + 0.25 = 1.25, 값 16% 적용 시 아이템당 기대 기여 = 1.25×0.16 = **20.0%**. 6슬롯 전부(Hat·Boots·Weapon·Armor·Charm·Ring) G6 도달 시 총합 = 6×20.0% = **120.0%(=1.20)** — 관측치와 일치. 하한(5번째 슬롯이 전부 스턴 미중복인 최악 경우) = 6×16.0% = **96.0%(=0.96)** — 이 역시 일치. + +**게임이 깨지지 않는 이유(§1-5 시간 상한이 실질 지배)**: `SurvivalStunEffect`는 확률과 무관하게 **지속시간(일반 1.0초·보스 0.3초) + 면역창(그 2배)**의 순환 구조다. StunChance가 100%를 넘어도 "다음 공격에서 또 기절시킬 수 있는가"는 면역창이 끝났는지에만 좌우되므로, 무력화 지속률은 **지속시간÷(지속시간+면역시간) = 지속시간÷(지속시간×3) = 1/3 = 33.3%로 일반·보스 동일하게 고정**된다(보스 지속시간 축소 제안·확정 여부(§4 PD확인 1번)와 무관하게 이 비율 자체는 불변 — 분자·분모가 같은 배수로 줄기 때문). 즉 StunChance가 36%든 120%든 300%든 **무력화 지속률 상한은 항상 33.3%**이며, 이 상한을 설계한 §1-5의 "확률 캡이 아니라 시간 캡" 결정(v1 원 설계 의도)이 정확히 이런 포화 상황에 대한 방어선으로 기능하고 있음이 실제 구현·관측으로 재확인됐다. + +**정직 기재(해소책 설계 안 함, PM 지시)**: 결과적으로 **가챠 완주(36%)를 넘어 2부 합성까지 투자하는 구간에서는 stun_rate 옵션의 한계 가치가 소멸**한다 — 이미 6슬롯을 G6까지 합성한 플레이어에게는 스턴 관련 옵션 롤이 더 나와도 무력화 지속률(33.3%)이 조금도 개선되지 않는다(반면 retaliate/combo/hit 3종은 §8-4 승산항에 계속 선형 가산되므로 이런 포화가 없다 — stun_rate만의 고유한 특성). 이는 **버그가 아니라 확률형 스탯과 시간 기반 상한이 만나는 지점의 자연스러운 수학적 결과**이며, 본 절은 이 사실을 기록하는 데 그친다 — 완화책(예: 등급별 지속시간 체증, 스턴 상한 완화 등)은 설계하지 않는다. 플레이테스트로 실제 체감(33.3% 무력화가 실제로 얼마나 강력한지)을 관찰한 뒤 튜닝 여부를 판단하는 것이 순서에 맞다(§8 후속조치). + +**분류**: PD 확인 목록(§4)에는 추가하지 않는다 — PD의 택일이 필요한 결정 사안이 아니라(현재 수치 그대로도 게임이 깨지지 않음, C1 "구현해" 지시가 이미 이행 완료 상태), 플레이테스트 데이터가 쌓인 뒤 밸런스 조정 필요성을 재판단할 **후속 튜닝 관찰 항목**의 성격이라고 판단했다. §5(리스크) R-S3으로 등재해 추적한다. + ## 1-10. 코드 터치포인트 — M-3·M-4 반영 갱신 | 파일 | 변경 | @@ -208,6 +220,8 @@ Survivor.io 검색 결과(출처 3건)·B2 v2 §8 forging 골격·`TryFuse()`/`O **가챠 풀 영향 — 없음**(무변경, v1과 동일 원칙): 신규 11종은 가챠 확률 테이블(v3 §10-1)에 편입하지 않는다. 합성 전용 획득. +**수집 진행도·획득 안내 판정 기준 — 구현 정정 반영(P18·C39 SOT 정합)**: 신규 11종도 전부 Grade≥3이라, "Grade≥3 카탈로그 아이템 수"를 기준으로 삼는 낡은 판정으로는 가챠 수집 목표가 6종(실제 뽑을 수 있는 대상)이 아니라 17종(6기존+11신규)으로 부풀어 "6/17" 형태의 영구 미완 표시가 발생한다 — **합성 전용 11종은 가챠 수집 진행도·뽑기 획득 안내 대상이 아니다**(가챠 풀 미등재이므로 애초에 뽑을 수 없다). 구현 단계에서 판정 기준을 "Grade" 대신 **가챠 풀 CSV 등재 여부**(`SurvivalGachaTable.AllItemIds()`, 기존 6종만 포함)로 교정했다 — 화면 표시(6/6) 자체는 v3 설계 그대로 무변경, 판정 근거만 정정. 미보유 안내 문구도 술어 2분(`IsGachaPoolItem` 신설)으로 갈라 합성 전용품은 "뽑기 대상"이 아니라 **"합성으로 획득"**으로 안내한다. 본 SOT(설계 문서)와 구현 판정 근거를 일치시켜, 이후 이 문서만 읽는 독자도 "왜 17종이 아니라 6종 기준인지"를 알 수 있게 명시한다. + ## 2-6. PowerScore 단조성·슬롯 플로어 검증 — 각 행 배수 직접 기재(C-2 재발 방지) **C-1 채택의 자동 부수 효과**: 도달 불가 7종(구 id25·28·29·31·32·33 및 Weapon 구 G3)을 제거한 결과, **잔존 11종은 전부 기존 6종(v3 감사 통과본) 위에 쌓이는 상위 등급뿐**이다 — 각 슬롯의 "최하 진입 등급"(플로어 대비 마진을 검증해야 하는 유일한 병목 지점)은 v3에서 **이미 검증 통과한 6종 그대로**이므로, 신규 11종은 전부 그보다 PowerScore가 크다는 사실 하나로 마진도 자동으로 더 크다. 아래 표는 이를 "선언"이 아니라 **각 행 직접 계산**으로 증명한다(감사 재발 지적 반영): @@ -437,6 +451,7 @@ void OnClickForge(SurvivalSlot slot, int grade) | ID | 리스크 | 심각도 | 내용 | |---|---|---|---| | R-S1·R-S2 | (v1과 동일) | — | 무변경 | +| **R-S3(신규)** | 합성 완주 구간 StunChance 포화·stun_rate 한계 가치 소멸 | 낮음(정보성, 게임 붕괴 없음) | §1-9-A — 가챠 완주 36%→2부 합성 완주 시 기대 1.20(하한 0.96), §1-5 시간 상한(무력화 지속률 33.3% 고정)이 실질 지배해 100% 초과분은 체감 개선 없음. 해소책 미설계(정직 기재만, 후속 튜닝 관찰) | | **R-F1(갱신)** | 합성 완주선(2,140,000G 상한~2,011,900G 정밀치) 근사치 오차 | 중(🟡, v1 대비 하향 — 골드 부분은 감사 실측치라 정밀도 상승, 뽑기 부분만 상한/정밀 병기) | §2-8 I-A 정밀치(max 방식, 96.3회)와 상한(합산 방식, 415.4회) 사이의 진짜 값은 몬테카를로 미실행으로 미확정 | | R-F2·R-F3 | (v1과 동일) | — | 무변경. R-F3(Twinborn 미이식)은 §2-4 Ring 처리(PD확인 6번)와 연계 가능성 인지 | @@ -463,12 +478,13 @@ void OnClickForge(SurvivalSlot slot, int grade) | 2026-08-23 | balance-designer | v1 신규 | PD 직접 지시 2건 | | 2026-08-23 | balance-designer | **v2 신규 — plan-auditor 차단 반영**. 1부: M-3(레지스트리 누수, 사망 시 명시 제거 채택)·M-4(ClearAll을 Awake 병치로 이동)·m1~3(표기·전제 정정). 2부: C-1((다) 등급사다리 비대칭 채택, 24→17종)·C-2(자동 해소, 배수 직접 기재)·C-3/M-1/M-2(TryForge 재화무접촉 재작성)·M-5(경제 재산출, 1,973,400G 감사치 정합) | PM 회송 — `_v1_감사결과.md` 전문 | | 2026-08-23 | balance-designer | **v2 정정 5건(2차 편집, v3 생성 아님) — plan-auditor 재검증 조건부 통과 반영**(개발팀장 구현 병행 착수 상태). Major-1(`RerollOneGachaOption` 컴파일 오류 — 기본 인자 `=null`+null 가드로 해소, §2-11#6 검증기준을 "컴파일 성공"으로 정정)·m-A(§2-6 max값 100.0→109.0 오기 정정+헷지 문장 삭제)·m-B(§2-8 Ring 첫 카피 획득비용 66.7회/26,700G 반영)·m-C(§0·§2-7 "4개소"→"5개소"+정확한 라인 인용)·I-A(§2-8 정밀치 96.3회/38,520G 병기, 상한 415.4회와 병행 표기) | PM 재검증 회송 — 조건부 통과(기절 즉시 적격·합성 Major-1 해소 후 적격) | +| 2026-08-23 | balance-designer | **v2 구현완결 후 보강 2건(3차 편집, GodDem `7fe15ff` 게임 진입·push 완료 반영)**. ①§1-9-A 신규(StunChance 포화 — 가챠완주 36%→합성완주 기대1.20/하한0.96 독립검산 일치, §1-5 시간상한이 무력화지속률 33.3% 고정으로 실질지배·게임 붕괴 없음·정직기재만·해소책 미설계, §5 R-S3 신규 등재, PD확인 목록 비등재·"후속 튜닝 관찰" 분류) ②§2-5 신규 문단(합성 전용 11종의 가챠 수집진행도·획득안내 대상 제외 — 구현이 판정기준을 Grade에서 가챠풀 CSV 등재여부로 교정한 사실을 SOT에 정합 반영, P18·C39) | PM 상신 — 개발팀장 구현 관측 2건(StunChance 포화·수집진행도 판정기준 교정) | --- ## 8. 후속 조치 (본 v2 범위 밖) -1. **plan-auditor 모드A 재검증 — 조건부 통과(Major-1 해소로 최종 적격)**. 개발팀장이 동일 해소안으로 구현 병행 착수한 상태(PM 확인). -2. **PD 확인 6건**(§4) — 보스 기절·지속시간 수치·확정형/확률형 상충·합성 비용·UI 배치·Ring 포함 여부. +1. **구현 완료 — GodDem `7fe15ff` 게임 진입·push 완료**(plan-auditor 조건부 통과 후 Major-1 PM 지정안으로 구현·C49 체인 완결). 본 문서가 그 확정 사양 SOT. +2. **PD 확인 6건**(§4) — 보스 기절·지속시간 수치·확정형/확률형 상충·합성 비용·UI 배치·Ring 포함 여부. PM 취합 후 상신 필요. 3. **합성 완주선 정밀 시뮬레이션**(R-F1) — 몬테카를로, 슬롯 간 뽑기 공유 효율 반영. -4. **개발팀장 구현 착수** — C49 표준(설계→plan-auditor 검증→구현→PM 커밋). +4. **StunChance 포화 플레이테스트 관찰**(R-S3, §1-9-A) — 33.3% 무력화 지속률의 실제 체감 확인 후 튜닝 필요성 재판단. diff --git a/공유/대화로그/GodDem/2026-08-23.md b/공유/대화로그/GodDem/2026-08-23.md index ed1aca9..d548e95 100644 --- a/공유/대화로그/GodDem/2026-08-23.md +++ b/공유/대화로그/GodDem/2026-08-23.md @@ -171,3 +171,78 @@ - **연쇄 정합성**: §2-8 갱신으로 총액이 2,113,000G→2,140,000G(상한)/2,011,900G(정밀치)로 바뀌어, §3(층간교차영향)·§5(R-F1 리스크)의 구 수치 참조 2곳도 함께 갱신해 문서 전체 정합성 확보(grep 재확인 완료). - **산출물**: `공유/기획/GodDem/2026-08-23_P3B3-2_스턴_합성_설계_v2.md`(같은 경로, 424→474줄) - **후속**: plan-auditor 재검증에서 조건부 통과 판정을 이미 받았고(§77-B, PM 기록) 개발팀장이 동일 해소안으로 구현을 병행 착수한 상태 — 본 문서 정정은 그 구현과 별도 트랙으로 완결. PD 확인 6건(§4)은 PM 취합 후 상신 필요. + +## 79. P3-B3-2 구현 완료 — 기절 전투 로직 + 장비 합성 (개발팀장, GodDem 로컬 커밋 7fe15ff) + +- **선행 실측(C39·C39-10)**: 설계 v2 전문 + v1 승계 절(§1-1~1-4·§1-6·§1-8·§2-9) Read. GodDem 코드 직접 Read — `SurvivalUnit.cs` 전문·`SurvivalMeta.cs` 전문·`SurvivalItemCatalog.cs`·`SurvivalGachaTable.cs`·`SurvivalDebuffStack.cs`·`SurvivalActiveSkillRunner.cs`·`SurvivalBattleManager.cs`(RecalcPlayer/SpawnWave/Restart/ExitToLobby)·`SurvivalLobbyController.cs`/`.Gacha.cs`/`.Growth.cs`(TrySpendGold)/`.Hero.cs`/`.EquipUpgrade.cs` · CSV 3종. **C6 백업 6종** `공유/개발팀_백업/GodDem/*.bak_20260823_0329.cs`(`.gitignore:66 *.bak_*` 추적 제외 확증). +- **1부 기절**: `SurvivalStunEffect.cs` 신규(DebuffStack 정적 레지스트리 패턴 재사용) — 지속 1.0초·면역창 ×2·보스 0.3초. `GachaStunChance()` 신설(`GachaAttackRatio` 동형 순회·`KeyStun` 상수 사용, 매직스트링 회피). `DoAttack` 프록(CriticalRate 굴림 동형)·`FixedUpdate` 조기반환 동결(`_timer` 증가 이전 = 쿨다운 동반 정지). **M-3** `IsDead=true` 단일 지점(`SurvivalUnit.cs:163`)에 `Remove(this)` 배선. **M-4** `SurvivalActiveSkillRunner.Awake()`에 `ClearAll()` 병치 — `Restart()`·`ExitToLobby()` 양쪽이 `LoadScene`임을 실측 확인해 3경로 커버 검증. 시각 피드백은 `skeleton.SetColor` 틴트(SetHit 과 동일 경로 = 공유 머티리얼 무오염). +- **2부 합성**: 카탈로그 11종 신규(id16~26). `CanForge`(순수 판정)/`TryForge`(재화 무접촉)/`ForgeCostAt` 분리 — **SurvivalMeta 실행 코드 재화 참조 0건**(잔존 5건 전부 주석). **M-1** `RerollOneGachaOption(int,int,GachaPullResult result = null)` 기본 인자 + L787-788 앞 null 가드(PM 지정 해소안 그대로). **M-2** `targetWasNew` 소비 전 판정. 장착 해제 블록 `TryFuse` L298-300 동형·`Save()` 배선. UI `SurvivalLobbyController.Forge.cs` 신규 — 가챠 패널 제목 자리를 탭 바(뽑기\|합성)로 교체, 부위 선택 + 전이 행 최대 3단, `TrySpendGold` 선차감 후 `TryForge`. +- **설계 재량 판단(구현 계층)**: 사다리를 코드에 박지 않고 `ForgeSourceGrades(slot)`가 카탈로그에서 유도하도록 구성 — Ring 제외가 예외 분기가 아니라 "위 등급 부재 → 빈 목록"의 자연 결과가 된다(§2-4 의도를 데이터 주도로 표현). 조회 중복 제거용 `SurvivalItemCatalog.GetBySlotGrade` 신설. +- **구현 중 발견·해소(C3 자진 보고 — 설계 v2 미기재)**: 신규 11종이 전부 Grade≥3이라 `GachaCollectedCount`/`GachaTotalCount`(판정 기준 = "Grade≥3 카탈로그 수")의 **수집 목표가 6 → 17로 부풀 뻔했다** — 가챠를 완주해도 영영 "6/17"이 뜨는 도달 불가 진행도. 판정 기준을 **가챠 풀(CSV) 등재 여부**로 교정하고, 이 용도로 이미 존재하나 미소비였던 `SurvivalGachaTable.AllItemIds()`("풀에 등장하는 전체 아이템 ID(수집 목표 산출용)")를 소비처로 연결. 현 CSV에서 6을 돌려주므로 **표시 무변경**(회귀 없음). +- **밸런스 관측 보고(구현 산물 아님·후속 판단 필요)**: 합성 완주(6슬롯 전부 G6) 시 기대 `StunChance` ≈ **1.20(하한 0.96)** — 사실상 매 타격 확정 발동이다. 설계 §1-9의 36%는 **가챠 6종 완주** 기준이라 합성 완주 구간을 다루지 않았다. 다만 §1-5 시간 상한이 실질 상한이라 무력화 지속률은 **일반·보스 모두 정확히 33.3%**로 고정된다(면역창 = 지속 ×2 이므로 보스 축소가 지속률을 바꾸지 않는다). 즉 확률 폭주가 상한을 무너뜨리지는 않으나, 확률 축이 완주 구간에서 의미를 잃으므로 **stun_rate 투자 가치의 완주 후 소멸**을 balance-designer 재검토 대상으로 상신. +- **검증**: Roslyn 실컴파일(Assembly-CSharp 전체·신규 2파일 rsp 추가) **에러 0·신규 경고 0**(기저선 사전 측정 후 대조). 카탈로그 26종 소스 파싱 대조 — 신규 11종 스탯·PowerScore §2-5 전량 일치, 기존 id1~15 무변경, (부위,등급) 유일, 부위 내 PS 단조, 6슬롯 합성 총액 **1,973,400G** §2-8 일치, Ring 사다리 0. 가챠 회귀: `SurvivalMeta.cs` **삭제 라인 전수 확인** — 수집 카운트 2종·`RerollOneGachaOption` 시그니처 외 삭제 0(`PullGachaOnce`·`RollGachaOptions`·천장·`Draw` 무변경), CSV 3종 무변경(`git diff --name-only -- '*.csv'` 공집합), Pool2 가중치 산술 재확인(28.05/28.05/18.70/18.70/5.00/1.50%). 신규 유저 22/400 불변(카탈로그 추가는 `Equipped` 경유만 소비). +- **미검증(C5 정직 고지)**: Unity 미가동 — **런타임 실행·플레이 검증 없음**. §1-11·§2-11 시나리오는 실제 코드 텍스트 대조 데스크 체크까지이며 실행 확인이 아니다. 신규 `.meta` 2종은 Unity 미가동으로 수기 작성(GUID 중복 없음 전수 확인) — Unity 최초 기동 시 임포트 정상 여부 확인 필요. +- **기각안(C32)**: ①합성 결과물을 가챠 풀에 편입 — v3 §6-1 확률표 재감사를 부르고 "합성 전용 획득"이라는 설계 근간을 무너뜨림. ②`TryForge` 내부 골드 차감 — C-3이 지적한 계층 규약 위반의 재도입. ③`StunChance` 확률 캡 도입 — §1-5가 확률 캡 대신 시간 상한을 택한 근거(공격속도 무관 강건성)를 훼손. ④사다리 하드코딩 — 카탈로그 유도 방식 대비 SOT 이중화. +- **산출물**: GodDem 로컬 커밋 `7fe15ff`(10 파일 — 수정 6·신규 4). **push 미실시**(PM 영역). BT 레포 커밋 없음. +- **후속**: PD 확인 6건(§4) 미해소 상태 — 보스 기절 처리·지속시간 수치·확정형/확률형 상충·합성 골드 비용·UI 배치·Ring 포함 여부. 위 밸런스 관측(완주 구간 stun 확률 포화) 1건 신규 상신. Unity 기동 후 임포트·플레이 검증 필요. + +## 80. P3-B3-2 구현 완결 — GodDem push·PD 지시 2건 게임 진입 (PM·2026-08-23) + +- **PM push**: GodDem `4a8fe30..7fe15ff` master→origin. **기절 전투 로직 + 장비 합성 게임 진입 — 가챠 옵션 4종 전량 소비처 확보**(stun_rate 배선 완결로 v3 §13-3 해소) +- 개발팀장 검증 인수: Roslyn 실컴파일 에러 0·신규 경고 0(기저선 대조)·카탈로그 26종 소스 파싱 v2 전량 일치·회귀 무결(가챠 경로·CSV 3종 무변경·Pool2 가중치·B2 9종·신규유저 22/400)·Major-1 PM 지정안 그대로·C6 백업 6종(`*.bak_20260823_0329`) 확증 +- **신규 발견 2건**: ①수집 카운터 6/17 결함 선제 해소(판정 기준을 Grade≥3→가챠 풀 등재로 교정·미소비였던 `SurvivalGachaTable.AllItemIds()` 연결·표시 무변경) ②StunChance 포화 관측(합성 완주 시 기대 1.20·시간 상한이 실질 지배라 무력화 지속률 33.3% 고정·완주 구간 stun 투자 가치 소멸 — balance-designer 상신·v2 문서 보강 지시) +- **한계**: 런타임 미검증(Unity 미가동·데스크 체크까지·.meta 수기 2종 임포트 확인 필요)·개발팀장 C35 하위 pm-auditor 회신 전 PM 승인 커밋(사후 검토 대기)·PD 확인 6건은 설계 기본안 구현(보스 완전 면역 = 상수 1개 전환 가능) +- 잔여: PD 플레이 검증(가챠 해금→뽑기→합성 탭→기절 발동)·PD 로그 P3-B3-2 완결 배치 갱신(pm-auditor 사전 감사 착수) + +## 81. P3-B3-2 사후 감사 도착 — 술어 분열 잔여 6곳·근본 해결 후속 착수 (PM·2026-08-23) + +- **개발팀장 C35 사전 감사(커밋 후 도착·조건부 통과·비차단)**: 백업 6종·스테이징 범위·설계 조건 해소 전항·참조 API 전수 실측 통과. **Major-A**: `IsGachaItem`(Grade≥3) 술어가 "가챠 풀 등재(6종)"·"강화 제외(17종)" 겸직 분열 — 개발팀장이 count 2곳은 해소했으나 **잔여 6곳 미처리**·핵심 = Hero.cs:485 토스트가 합성 전용 11종 미보유에 "뽑기에서 획득" **거짓 안내**(뽑기로 영원히 안 나옴). Major-B: PD 로그 stale(별도 pm-auditor 감사 진행 중인 완결 갱신이 커버). Minor: .cs 백업 원본 확장자 탈락(표준 이탈 변종)·워킹트리 잔존 2건(ONEMobilePOP_TMP.asset -4145행 churn = PM 보고 대상·Captures/ gitignore 미등재) +- **PM 후속 집행**: ①개발팀장 근본 해결 재위임 — 술어 2분(`IsGachaPoolItem` CSV 기준 신설+`IsGachaItem` 의미 명문화)·토스트 3분기·라벨 2곳·주석 stale 2곳·전 호출부 판정표·Captures/ gitignore·백업 파일명 표준(호출부 개별 패치 금지·기각안 필수) ②balance-designer v2 §2-5 정정 노트 추가 지시(수집 판정 기준 = 풀 등재 — SOT·구현 일치) ③노하우 등재 — `feedback_predicate_semantic_split_fanout.md` 신설(감사관 요청 수용)·`feedback_backup_filename_format_violation.md` 변종 6항 보강 ④ONEMobilePOP_TMP.asset churn 불가침 유지·PD 보고 + +## 82. 스턴·합성 v2 보강 2건 완료 — 구현완결 후 문서-구현 정합 (balance-designer, GodDem 수정 0건) + +- **①§1-9-A 신규 — StunChance 포화 정직 기재**: 개발팀장 구현 관측(PM 상신) 수치를 독립 재계산으로 검증 — G6 옵션 5슬롯(4종 확정+5번째 1/4 재추첨) 기준 아이템당 기대 기여 1.25×16%=20.0%, **6슬롯 합성완주 시 6×20.0%=1.20(하한 6×16.0%=0.96)** — 관측치와 정확히 일치. §1-5 시간상한(지속시간÷(지속시간+면역2배)=1/3) 구조상 StunChance가 100%를 넘어도 무력화 지속률은 일반·보스 동일하게 **33.3%로 고정**됨을 재확인 — 게임 붕괴 없음, 대신 완주 구간에서 stun_rate 옵션의 한계 가치가 소멸(retaliate/combo/hit 3종과 달리 stun만의 특성). PM 지시대로 해소책은 설계하지 않고 사실만 기재. **분류 판단 = "후속 튜닝 관찰"**(PD 확인 목록 비등재) — PD 택일이 필요한 결정이 아니라 플레이테스트 데이터 축적 후 재판단할 사안이라 판단. §5에 R-S3 신규 리스크(정보성) 등재. +- **②§2-5 신규 문단 — 수집 판정 기준 SOT 정합**: 합성 전용 11종(전부 Grade≥3)이 낡은 "Grade≥3 카탈로그 수" 기준으로는 가챠 수집 목표를 6→17로 부풀려 "6/17" 영구 미완 표시를 유발한다는 사실과, 개발팀장이 판정 기준을 "가챠 풀 CSV 등재 여부"(`SurvivalGachaTable.AllItemIds()`, 6종만 포함)로 교정했다는 사실을 문서에 반영 — 합성 전용품 미보유 안내는 "합성으로 획득"이 되어야 함을 명시. 설계 SOT와 구현 판정 근거가 어긋나지 않도록 정합(P18·C39). +- **§7·§8 연쇄 갱신**: 변경이력에 3차 편집 행 추가, §8 후속조치를 "구현 완료(GodDem `7fe15ff`)" 상태로 갱신 + R-S3 플레이테스트 관찰 항목 추가. +- **산출물**: `공유/기획/GodDem/2026-08-23_P3B3-2_스턴_합성_설계_v2.md`(같은 경로, 474→490줄) +- **후속**: PD 확인 6건(§4)은 PM 취합 후 상신. R-S3(StunChance 포화)·R-F1(합성 완주선 근사)은 플레이테스트 관찰 대상으로 잔존. + +## 83. P3-B3-2 후속 — IsGachaItem 술어 2분·획득처 거짓 안내 해소 (개발팀장, GodDem 로컬 커밋 bfe738a) + +- **계기**: pm-auditor 사후 감사(커밋 후 도착·PM 중계). 판정은 조건부 통과·로컬 커밋 비차단이었으나 실질 결함 1건 + 정리 5건이 후속 대상으로 지적됨. +- **근본 원인(결정 근거)**: `IsGachaItem(def) => def.Grade >= 3`이 **두 개념을 겸직**하고 있었다 — (가) 강화(Layer③) 제외·굴림 옵션 보유 = Grade 축 = 17종 / (나) 뽑기로 획득 가능 = 풀 CSV 등재 축 = 6종. P3-B3-2 이전엔 우연히 일치했으나(Grade≥3 = 가챠 6종 = 풀 전체) 합성 전용 11종 추가로 갈라졌다. §79에서 내가 잡은 수집 카운터 2곳은 **숫자라 6→17로 티가 났고**, 문자열 호출부는 **술어가 여전히 true라 컴파일·실행 어디에도 안 걸리고 통과**했다(감사관 지적: "숫자 오류는 눈에 띄고 문자열 오류는 컴파일에 안 걸린다"). §79의 count 수정은 증상 2곳 대응이었고 본 건이 술어 자체를 나눈 근본 해결이다(C2). +- **해결 — 술어 2분(SOT 확립)**: `SurvivalGachaTable.ContainsItem(itemId)` 신설(풀 등재 O(1)·`AllItemIds()`와 달리 호출당 할당 없음 → 항목별 UI 루프 안전) → `SurvivalItemCatalog.IsGachaPoolItem(def)`가 이를 감쌈. 기존 `IsGachaItem`은 "성장 계열(Grade≥3) = 강화 제외 대상" 의미로 주석 명문화 + **획득처 안내 금지 경고** 명시. +- **전 호출부 판정표(감사 차단 절차 — 누락 방지 전수 열거)**: + +| # | 위치 | 원하는 개념 | 조치 | +|---|---|---|---| +| 1 | `SurvivalGachaTable.cs:247` | 천장 보장 등급 하한(풀 내부) | 무관 — 무변경 | +| 2 | `SurvivalItemCatalog.cs:132` `GachaGradeFloor` | 성장 계열 등급 하한 상수 | 무변경 | +| 3 | `SurvivalItemCatalog.cs:155` `IsGachaItem` | 강화 제외축 정의 | 주석 명문화 | +| 4 | `SurvivalItemCatalog.cs:164` `IsGachaPoolItem` | 풀 등재축 정의 | **신설** | +| 5 | `SurvivalMeta.cs:446` `CanUpgradeEquip` | 강화 제외 | 무변경 ✓ | +| 6 | `SurvivalMeta.cs:747` `ForgeSourceGrades` | 사다리 최저 등급 | 무변경 ✓ | +| 7 | `EquipUpgrade.cs:205` 라벨 | 강화 제외 ✓ | 술어 유지·**문구 정정** | +| 8 | `EquipUpgrade.cs:273` 토스트 | 강화 제외 ✓ | 술어 유지·**문구 정정** | +| 9 | `Hero.cs:165` 아이콘 앨리어싱 | 전용 아트 부재(17종) ✓ | 무변경 ✓ | +| 10 | `Hero.cs:170` 앨리어싱 소스 | 상점품(자체 아이콘 보유) ✓ | 무변경 ✓ | +| 11 | `Hero.cs:464` 옵션 표기 | 굴림 옵션 보유(17종) ✓ | 무변경 ✓ — 합성품도 `GachaRolledOptions`를 갖는다 | +| 12 | `Hero.cs:490` 미보유 안내 | **획득처 = 풀 등재축** ✗ | **3분기 교체(실질 결함)** | + +- **실질 결함(영향)**: `Hero.cs` 미보유 토스트가 합성 전용 11종에 "뽑기에서 획득"이라는 **거짓 안내**를 냈다 — 뽑아도 영원히 안 나오는 아이템을 뽑으라고 안내하는 상태. 3분기(풀 등재→뽑기 / Grade≥3 & 풀 미등재→합성 / 그 외→상점)로 교체. 바로 위 기존 주석 "잘못된 안내를 하지 않는다"의 의도 위반 상태였다. +- **라벨 정정 2곳**: "가챠 전용 — 강화 대상 아님"→"성장 장비 — 강화 대상 아님" · "가챠 아이템은 강화되지 않습니다"→"성장 장비는 강화되지 않습니다"(합성품 포함이므로 획득처 미특정 문구로 일반화). **술어는 유지** — 묻는 개념이 획득처가 아니라 강화 제외라 `IsGachaItem`이 정답. +- **stale 주석 3곳**: `Hero.cs` "가챠 6종"→성장 계열 17종 · "카탈로그는 15종"→26종 · `SurvivalItemCatalog` 클래스 doc "총 15종"→26종 + 두 축 구분 명시. +- **부수**: GodDem `.gitignore`에 `/[Cc]aptures/` 추가(인수인계 §5 잔여 해소) — 등록 후 미추적 파일 0 확인. +- **기각안(C32)**: ①**count만 고치고 문자열 방치** — §79 상태 그대로 두는 안. 기각: 거짓 안내가 남고 동일 원인이 차기 호출부에서 재발한다(증상 대응 = C2 위반). ②**신규 11종을 가챠 풀에 편입해 두 개념을 재일치** — 기각: v3 §6-1 확률표 전면 재감사를 부르고(스코프 초과) "합성 전용 획득"이라는 설계 근간(§2-4)을 무너뜨린다. ③**`SurvivalItemDef`에 `IsForgeOnly` 플래그 필드 신설** — 검토 후 기각: 풀 등재 여부는 이미 CSV가 SOT인데 플래그를 두면 CSV와 코드가 갈라지는 3중 SOT가 된다(카탈로그 주석의 "매직넘버 하드코딩 금지" 원칙과 동형). 파생 판정(`ContainsItem`)이 SOT 단일성을 지킨다. ④**호출부 11곳 개별 패치** — 기각: 술어가 그대로면 다음 호출부가 또 틀린다. +- **검증**: Roslyn 실컴파일 **에러 0·신규 경고 0**. 카탈로그 26종 × 풀 CSV 교차 대조 — 3분기가 **완전분할(exhaustive·disjoint)** 확인: 뽑기 6(id10~15)·합성 11(id16~26)·상점 9(id1~9). 전 호출부 grep 전수 재확인(위 판정표 12행). +- **C6 백업**: `공유/개발팀_백업/GodDem/{원본명.cs}.bak_20260823_0352.cs` 4종 + `.gitignore.bak_20260823_0352`. 감사 지적(구 .cs 백업이 원본 확장자 탈락)을 반영해 **표준 `{원본명 확장자 포함}.bak_{일시}.{확장자}`** 준수. 기존 백업은 역사 보존 목적으로 개명하지 않았다. +- **금지 준수**: `Assets/UGUI/Fonts/ONEMobilePOP_TMP.asset` 워킹트리 churn은 **무접촉**(스테이징 제외 확인 — PD Unity 산출 추정·C19-2, PM이 PD 보고 예정). +- **산출물**: GodDem 로컬 커밋 `bfe738a`(5 파일·69 insertions/15 deletions). **push 미실시**(PM 영역). BT 레포 커밋 없음. +- **후속**: Unity 기동 후 임포트·플레이 검증 필요. PD 확인 6건(§4)·§79 밸런스 관측(합성 완주 시 StunChance 포화) 미해소 유지. + +## 84. P3-B3-2 완결 배치 — pm-auditor 조건부 반영·PD 로그 갱신·.live 복원 (PM·2026-08-23) + +- **pm-auditor 완결 감사 조건부 판정 반영**: C-1/M-2 브리핑 staleness(§80 기준 발주·감사 중 §83·`bfe738a` 진행) → 마일스톤을 집행 직전 재실측 기준으로 확정(`7fe15ff`+`bfe738a` 병기·§74~§84) / C-2 `bfe738a` push는 감사 중 기완료 / M-1 BT 미커밋분 본 배치 전량 포함 / M-3 매니페스트 신규 등록 / m-1~m-4 대기 카운트 재구성(가챠 5건 잔여·해소 2·보류 1〔IAP 재개 트리거 = PD 과금 착수 결정〕·신규 확인 PD 판정 3 vs 플레이테스트 재판단 4 분류) / m-5~m-7(v2 재검증 전재 없음 명시·전체 파일명·기각안 명시) / m-8(백업 "확증"→표준 위반 자진 등재 정확 표기) / m-9(asset churn 6건 별건 등재·PD 보고 완료) +- **C-3 `.live/` 복원 집행**: 3회 이월 금지 판정 수용 — `.live/README.md` 생성(plain 디렉토리·C34 junction 비사용·live_inject.sh README 스킵 실측 확인 후 안전 복원). P25 채널 재가동 +- **노하우 신설**: `feedback_auditor_briefing_staleness.md`(감사 브리핑 staleness — 발주 직전 재실측 스탬프 의무·감사관 실측 우선) — 감사관 등재 요청 수용 +- C13 정정: PD 지시 5건 중 ④⑤ 설명 2건 = 발신 완료 표기(수령→완료 전환)