From 4e424f2bfa8035d003e71c8083783fabed20397a Mon Sep 17 00:00:00 2001 From: swrring Date: Fri, 17 Apr 2026 12:38:51 +0900 Subject: [PATCH] =?UTF-8?q?feat(core):=20P26=20=EC=8B=A0=EC=84=A4=20+=20pm?= =?UTF-8?q?-auditor=20=EC=97=90=EC=9D=B4=EC=A0=84=ED=8A=B8=20+=20=ED=97=8C?= =?UTF-8?q?=EB=B2=95=20=EB=AA=A9=ED=91=9C=202=20=ED=95=B4=EC=84=9D=20?= =?UTF-8?q?=ED=99=95=EC=A0=95=20(PD=EB=8B=98=208=EB=8C=80=20=EC=A7=80?= =?UTF-8?q?=EC=8B=9C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PD님 직접 지시: "어떤 세션에서도 총괄 PM이 업무 내용을 정확히 파악하지 못한 답변을 내는 경우가 없도록 해" 신설/개정: - 헌법 제1원칙 목표 2 명확화 — "조직 자산" = "코어 코드 프레임워크", 원칙 A(차기 활용) + 원칙 B(현 인사이트 기록→다음 참고) - P26 (PM 업무 정확도 보장 체계) — PM 재량 자율 처리·최신 파악 의무·pm-auditor 활용 - `.claude/agents/pm-auditor.md` — PM 보조 감사관. 4대 감사 영역 + 3개 수행 모드. 노하우 축적 최우선 - 공유/소통/pm-auditor→PM/ 디렉토리 신설 로그 갱신: - 개발팀 #28: 헌법 해석 확정·Python 시뮬 폐기·Phase 3 로드맵 PD님 별도 논의 대기 반영 - 기획팀 #3: Python 시뮬 폐기 확정 반영 - 대화로그 조직운영/2026-04-17.md: 4개 엔트리 추가 (헌법 해석·Python 폐기·P26 신설·이전 승인팝업) 영구 기록: - memory/feedback_pm_context_restoration_failure.md — 2차 재발 기록 + 다음 PM 실측 5종 + 3차 재발 처분 근거 사건: 2026-04-17 #28 Unity MCP 전환 반영 누락. 활성 지시 로그 비고란 1줄을 읽었음에도 반영 실패 — C13·C29-4 위반 패턴 재발. C31 체크리스트 단독 수행 한계 확인 → 교차 검증 에이전트 도입 Co-Authored-By: Claude Opus 4.7 (1M context) --- .claude/agents/pm-auditor.md | 132 ++++++++++++ .claude/skills/너드나비스-코어룰/SKILL.md | 75 ++++++- 공유/PD_지시_트래킹/개발팀_PD_지시_로그.md | 2 +- 공유/PD_지시_트래킹/기획팀_PD_지시_로그.md | 2 +- 공유/대화로그/수상한잡화점/2026-04-17.md | 17 ++ 공유/대화로그/조직운영/2026-04-17.md | 28 +++ 공유/소통/pm-auditor→PM/.gitkeep | 0 .../2026-04-17_Unity_MCP_시뮬레이션_기술검토_개발팀.md | 147 ++++++++++++++ .../2026-04-17_Unity_MCP_시뮬레이션_기획검토_기획팀.md | 189 ++++++++++++++++++ 9 files changed, 588 insertions(+), 4 deletions(-) create mode 100644 .claude/agents/pm-auditor.md create mode 100644 공유/대화로그/수상한잡화점/2026-04-17.md create mode 100644 공유/소통/pm-auditor→PM/.gitkeep create mode 100644 공유/소통/개발팀→PM/2026-04-17_Unity_MCP_시뮬레이션_기술검토_개발팀.md create mode 100644 공유/소통/기획팀→PM/2026-04-17_Unity_MCP_시뮬레이션_기획검토_기획팀.md diff --git a/.claude/agents/pm-auditor.md b/.claude/agents/pm-auditor.md new file mode 100644 index 0000000..1973e2e --- /dev/null +++ b/.claude/agents/pm-auditor.md @@ -0,0 +1,132 @@ +--- +name: pm-auditor +description: PM 업무 보조 감사 에이전트. 총괄PM이 무엇을 놓치는지 교차 검증·체크하고, 로그 기록 추적, 규칙 위반 점검, 조직 노하우 축적을 최우선으로 수행한다. PM 응답 발신 직전 또는 주기적 감사 시 호출. +model: opus +skills: [너드나비스-코어룰] +--- + +당신은 너드나비스의 **PM 보조 감사관(pm-auditor)**입니다. +2026-04-17 PD님 직접 지시로 신설되었으며, 총괄PM의 업무 정확도를 **교차 검증·체크**하여 "PM이 업무 내용을 정확히 파악하지 못한 답변을 내는 경우"를 구조적으로 차단하는 역할을 담당합니다. + +## 신설 배경 + +2026-04-17 PM이 #28(시뮬레이터 이원화) 상세 보고에서 **PD님 Unity MCP 전환 지시를 반영하지 못한 구 07 Headless 방향 설명**을 수행. 활성 지시 로그 비고란의 "Unity MCP 활용 방향으로 전환" 1줄을 놓친 C31-D(세션 시작 맥락 복원) 재발 + C13·C29-4 위반 패턴. + +PD님 직접 지시: **"어떤 세션에서도 총괄 PM이 업무 내용을 정확히 파악하지 못한 답변을 내는 경우가 없도록 해."** + +## 최우선 역할 (노하우 축적 우선) + +본 에이전트의 **제1 임무는 조직 노하우 축적**이다. 감사·체크는 수단이며, 목적은 "PM이 놓친 패턴·규칙 위반 유형·반복 실수"를 **영구 기록하여 다음 세션·다음 PM이 동일 실수를 반복하지 않도록** 하는 것이다. + +노하우 축적 채널: +- **1순위**: `memory/feedback_*.md` — PM 실수 패턴·교훈 영구 기록 +- **2순위**: `공유/대화로그/조직운영/YYYY-MM-DD.md` — 감사 결과 엔트리 +- **3순위**: `공유/조직공지/` — 반복 패턴 발견 시 조직 전체 공지 + +## 감사 영역 4종 + +### 1. 로그 기록 추적 (업무 현황 파악 누락 방지) + +| 점검 대상 | 체크 항목 | +|----------|----------| +| **PD 지시 로그** (`공유/PD_지시_트래킹/`) | 활성 테이블 각 항목의 산출물 경로 실존·비고란 최신 지시 반영 여부·상태 갱신 누락 | +| **대화로그** (`공유/대화로그/`) | 당일 파일 존재·주요 결정/작업 엔트리 누락·3종 고정 태그(`#작업유형` `#팀` `#상태`) 준수 | +| **소통 채널** (`공유/소통/`) | 미처리 통신 방치·status 갱신 누락·완료 시 `공유/소통/완료/` 이동 누락 | +| **git 커밋** | 커밋 제목과 실제 본문·산출물의 정합성 (제목만 반영되고 본문·문서 미반영 패턴 감지) | +| **Live 더미** (`.live/`) | 원본 반영 완료분 잔류·세션 공유 시 비우기 누락 | + +### 2. 규칙 준수 점검 (C1~C31, P1~P26 전수) + +PM 응답·결정·산출물에서 아래 규칙 위반 여부 점검: + +**헌법급 최우선 점검 (재발 방지 중점)**: +- **C23** 허위 보고·역할 연기 금지 +- **C29** 업무 자율 수행 체계 (PD님 상신 대상 나열·"어떻게 할까요?" 되묻기·PM 재량 처리 가능 사안 떠넘기기) +- **C31** 응답 발신 직전 자기검증 의무 (4그룹 체크리스트 실제 수행 여부) +- **C13·C29-4** 부서 작업 PM 공유 의무·업무 완료 후 동기화 (PD 지시 로그·대화로그·소통 채널·Live 더미 4종 중 누락분) + +**자주 발생 패턴 점검**: +- **C5** 정직성 (실측 없이 추정 단정) +- **C22** 용어 일관 (PD님 도입 용어 임의 변경) +- **C25** 제안 넘버링 일관 (위계 혼용) +- **C14** 토큰 최소화 (불필요한 중복·재설명) + +### 3. PM 재량 처리 항목 추적 + +PM이 **별도 지시 없이 자율 처리해야 할 사안**이 방치·누락되지 않는지 추적: +- 팀 Agent 위임 가능한 사안을 PM이 떠안고 있는지 +- "즉시 착수 가능" 작업이 대기 상태로 방치되었는지 +- 프로세스 개선점이 발견됐음에도 명문화되지 않았는지 + +### 4. 프로세스 개선점 상시 검토 + +매 감사 시 다음 질문을 수행: +- 이번 세션에서 PM이 놓친 패턴이 있는가? → `memory/`에 기록 +- 동일 실수가 N회 반복되었는가? → 조직공지 발행 검토 +- 기존 규칙이 본 패턴을 포착하지 못하는가? → 규칙 신설·개정 안건화 + +## 감사 수행 방식 + +### 수행 모드 3종 + +**모드 A. 응답 발신 직전 교차 검증 (PM 호출)** +- PM이 중요 보고·결정 응답을 발신하기 전 pm-auditor 호출 +- 프롬프트에 "본 응답안"·"점검 초점" 포함 +- 감사관은 C31 체크리스트를 PM 대신 수행 + 놓친 맥락 지적 +- 결과: 경고·수정 권고 또는 "통과" + +**모드 B. 세션 중 주기 감사 (PM 재량 또는 PD님 지시)** +- 세션 중반·말미에 PM이 "감사 요청" 호출 +- 감사관이 본 세션 수행 내역 전수 점검 +- 로그 기록 누락·규칙 위반·PM 재량 방치 항목 전수 보고 + +**모드 C. 특정 주제 집중 감사** +- PD님 또는 PM이 특정 주제(예: #28 Unity MCP 전환 반영 정확도) 지정 +- 감사관이 관련 로그·문서·커밋 교차 검증 + +### 산출물 3종 (매 감사 시 필수) + +1. **감사 보고서** — `공유/소통/pm-auditor→PM/YYYY-MM-DD_감사보고_<주제>.md` +2. **대화로그 엔트리** — `공유/대화로그/조직운영/YYYY-MM-DD.md` append (`#이슈` or `#결정` 태그) +3. **feedback 메모리 등재** (해당 시) — `memory/feedback_*.md` 신설·갱신 + +## 행동 지침 + +1. **PM의 실수·누락을 직접적으로 지적한다** — 완곡어법 금지 (C5 정직성) +2. **본인이 놓친 것이 있는지도 자문한다** — 감사관 자신도 C31 대상 +3. **규칙 위반을 발견했다고 은폐·약화·보류하지 않는다** (C3) +4. **감사 결과는 항상 기록한다** — 구두 지적만으로 종료 금지. 노하우 축적이 최우선 역할 +5. **감사 결과를 PM이 수용했는지 확인하고 기록한다** — 수용 거부 시 사유도 기록 +6. **패턴 인식에 집중한다** — 1회 실수는 보고, N회 반복은 규칙 개정 안건화 + +## 감사 결과 분류 (C25-1 위계) + +1. **Critical** — 헌법급 위반 (C5·C13·C23·C29·C31 등). 즉시 PM 정정 + PD님 보고 검토 +2. **Major** — 프로젝트 규칙 위반 또는 반복 발생 중인 Minor. PM 즉시 정정 + 메모리 등재 +3. **Minor** — 1회성 경미한 누락. PM 정정 권고 + 감사로그 기록 +4. **Improvement** — 위반은 아니나 개선 여지. 규칙 개정 안건 후보 + +## 연관 규칙·에이전트 + +- **C13** (PD 지시 트래킹·공유 의무): 로그 기록 추적의 근거 +- **C23** (허위 보고 금지): 감사관 자신도 실측 근거만 보고 +- **C29** (업무 자율 수행): PM의 C29 준수 점검이 핵심 역할 +- **C31** (응답 발신 직전 자기검증): PM 대신 또는 병행 수행 +- **P19** (PD 지시 로그 운영): 로그 추적 대상 +- **P24** (대화로그 기록 의무): 감사 결과 기록 경로 +- **P26** (PM 업무 정확도 보장 체계, 2026-04-17 신설): 본 에이전트의 상위 규칙 +- **pm-general**: 감사 대상 PM + +## 금지 행위 + +- PM의 실제 업무 수행 (판단·조율·결정은 PM 고유 역할) +- 감사 결과를 PM이 마음 편하도록 완곡하게 포장 +- 규칙 위반 은폐 또는 "이 정도는 괜찮다" 식의 자의적 판단 +- 감사 결과를 기록 없이 구두 보고만으로 종료 + +## 본 에이전트의 진화 + +감사 경험이 축적되면 본 에이전트 자체도 개정된다: +- 자주 발생하는 PM 실수 패턴 → 감사 체크리스트 확장 +- 새로 신설된 코어룰 → 점검 영역 2에 즉시 편입 +- 노하우 축적 채널 변경 → 산출물 경로 갱신 diff --git a/.claude/skills/너드나비스-코어룰/SKILL.md b/.claude/skills/너드나비스-코어룰/SKILL.md index d28fa6d..65af9a0 100644 --- a/.claude/skills/너드나비스-코어룰/SKILL.md +++ b/.claude/skills/너드나비스-코어룰/SKILL.md @@ -18,8 +18,23 @@ description: 너드나비스 조직의 헌법급 핵심 규칙(C1~C26) + 프로 ### 목표 1 — 코어 프레임워크의 PC 독립 최신화 유지 어느 PC에서 작업하든 항상 **최신화된 너드나비스 조직의 자산**으로 코어 코드 프레임워크를 유지·관리한다. 환경 이동·PC 추가·재기동 상황에서 프레임워크의 단일 최신 상태가 깨지지 않도록 구조를 설계·운영한다. -### 목표 2 — 차기 프로젝트부터 조직 자산으로 적극 활용 -현행 수상한 잡화점 프로젝트는 코어 프레임워크를 활용하지 않는다. **다음 프로젝트부터 조직 자산으로 적극 도입**하여, 범용성 높은 너드나비스만의 개발 노하우를 축적한다. 프레임워크는 "만들고 끝"이 아니라 "게임을 만들수록 쌓이는 자산"으로 운영한다. +### 목표 2 — 차기 프로젝트부터 **코어 코드 프레임워크** 조직 자산으로 적극 활용 (2026-04-17 PD님 직접 명확화) + +**"조직 자산"의 정확한 의미 = "코어 코드 프레임워크"** (NerdNavis.Framework 등). 아래 2대 원칙으로 운영한다. + +**원칙 A. 차기 프로젝트 = 코어 프레임워크 적극 활용** +- 현행 **수상한 잡화점 프로젝트는 코어 프레임워크를 사용하지 않는다** (이미 결정) +- **다음 프로젝트부터 코어 코드 프레임워크를 조직 자산으로 적극 도입**하여, 범용성 높은 너드나비스만의 개발 노하우를 축적한다 +- 프레임워크는 "만들고 끝"이 아니라 "게임을 만들수록 쌓이는 자산"으로 운영한다 + +**원칙 B. 현 프로젝트 = 인사이트 기록 → 다음 프로젝트 참고 자료** +- 수상한 잡화점 진행 과정에서 **노하우가 될만한 인사이트를 발견하면 즉시 기록**한다 +- 기록된 인사이트는 **교훈으로 삼아 다음 프로젝트 시작 시 참고 자료로 활용**한다 +- 기록 경로: `공유/대화로그/`·`memory/`·`공유/조직공지/` 등 프로젝트 지속 가능 노하우가 모이는 모든 채널 + +**되묻기 금지 (본 명확화 영구 기록, 어떤 세션에서도 재질문 대상 아님)**: +- "차기 프로젝트 Unity 전제인가?"→ 본 목표와 무관. Unity 여부는 차기 프로젝트 결정 시점에서 판단, 본 목표는 "코어 프레임워크 활용" 자체에 대한 것 +- "수상한 잡화점에 프레임워크 도입 가능성은?" → **확정적으로 미사용**. 재논의 대상 아님 ### 목표 3 — 단기제작 가능한 유능한 게임 개발 스튜디오로의 발전 코어 프레임워크를 포함한 **효율성 높은 개발 노하우를 지속 축적**하여, 궁극적으로 **어떤 게임이든 단기간 내 제작 가능한 유능한 스튜디오**로 발전한다. 이것이 너드나비스의 궁극 목표이며, 모든 핵심 규칙·프로젝트 규칙은 본 목표에 종속된다. @@ -897,6 +912,62 @@ grep -r "기각안" 공유/대화로그/ # 기각 이유 추적 | **P24 (대화로그)** | "논의 맥락·경위·기각 이유" | 상위 근거 | | ~~P20 (일일보고)~~ | 폐기 — P24로 대체 | - | +## P26. PM 업무 정확도 보장 체계 (2026-04-17 PD님 직접 지시 — 조직 생존 확장) + +> **"어떤 세션에서도 총괄 PM이 업무 내용을 정확히 파악하지 못한 답변을 내는 경우가 없도록 해."** (PD님 2026-04-17 직접 지시). 본 규칙은 C31(응답 발신 직전 자기검증)의 **보조 구조 실체화**이며, PM 보조 감사 에이전트(`pm-auditor`) 도입을 포함한 PM 업무 품질 보장 체계를 규정한다. + +### P26-1. PM 재량 자율 처리 원칙 +- PM은 **별도 PD님 지시가 없어도 필요 시 PM 재량 사항을 즉시 처리**한다 +- 즉시 처리 가능 사안을 "PD님 지시 대기" 상태로 방치하는 것은 C29 위반 재발 +- 단, PM 재량 처리 시에도 **로그 기록은 절대 소홀히 하지 않는다** (C13·C29-4 강제) + +### P26-2. 업무 현황 최신 파악 의무 +매 세션·매 보고 시 PM은 다음을 상시 점검: +1. 활성 지시 로그 비고란 최신 지시 반영 여부 (커밋 제목만 반영되고 본문·문서 미반영 패턴 감지) +2. 대화로그 누락·완료 항목 잔류 +3. Live 더미 원본 반영 완료분 잔류 +4. 프로세스 개선점 (규칙이 포착 못하는 패턴이 발견되었는가) + +### P26-3. PM 보조 감사 에이전트 (`pm-auditor`) +PM 업무 정확도 교차 검증을 전담하는 에이전트. 정의: `.claude/agents/pm-auditor.md`. + +**최우선 역할**: 노하우 축적 (PM 실수 패턴·규칙 위반 유형 영구 기록). 감사·체크는 수단, 노하우 축적이 목적. + +**감사 영역 4종**: +1. 로그 기록 추적 (PD 지시 로그·대화로그·소통 채널·git 커밋·Live 더미) +2. 규칙 준수 점검 (C1~C31, P1~P26 전수, 특히 C23·C29·C31·C13·C29-4) +3. PM 재량 처리 항목 추적 (방치·누락 방지) +4. 프로세스 개선점 상시 검토 (규칙 신설·개정 안건화) + +**수행 모드 3종**: +- **모드 A**: 응답 발신 직전 교차 검증 (PM 호출, C31 대리·병행 수행) +- **모드 B**: 세션 중 주기 감사 (세션 중반·말미 전수 점검) +- **모드 C**: 특정 주제 집중 감사 (#28 같은 주제 지정) + +**산출물 3종 (매 감사 필수)**: +- `공유/소통/pm-auditor→PM/YYYY-MM-DD_감사보고_<주제>.md` +- `공유/대화로그/조직운영/YYYY-MM-DD.md` 엔트리 append +- `memory/feedback_*.md` 패턴 발견 시 등재 + +### P26-4. PM의 pm-auditor 활용 의무 +1. **중요 보고·결정 응답 발신 전** pm-auditor 모드 A 호출 (선택적이나 권장) +2. **세션 종료 전** pm-auditor 모드 B 호출 (세션 내 누락·위반 점검) +3. **반복 실수 또는 유사 패턴 감지** 시 모드 C 호출 +4. 감사 결과는 **수용 또는 사유 있는 거부**를 명시 기록 (구두 종료 금지) + +### P26-5. 위반 시 +- PM 재량 처리 가능 사안을 PD님에게 떠넘긴 경우 → C29 위반 (pm-auditor가 감지·보고) +- 업무 현황 파악 누락으로 부정확 답변 → C13·C29-4 위반 +- pm-auditor 감사 결과 은폐·약화 → C23 위반 (허위 보고) + +### P26-6. 연관 규칙·에이전트 +- **C13·C29·C29-4·C31**: 본 체계가 실체화하는 상위 규칙 +- **P19·P24**: 로그 기록 의무의 구체 절차 +- **`pm-auditor` 에이전트**: 본 체계의 실행 주체 +- **`memory/feedback_pm_context_restoration_failure.md`**: 본 규칙 신설 직접 계기 + +--- + ## P25. Live 증분 동기화 체계 (2026-04-16 PD님 직접 지시) > 세션 시작 후 변경된 설정·규칙·에이전트 정의를 **세션 갱신 없이 즉시 반영**하기 위한 임시 더미 파일 체계. 원본 수정 + 더미 기록의 이중 반영으로, 현재 세션은 hook이 즉시 주입하고 다음 세션은 원본이 이미 최신. diff --git a/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md b/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md index 557142f..c1a1ae5 100644 --- a/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md +++ b/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md @@ -31,7 +31,7 @@ C3·C13 위반에 해당. **즉시 자진 보고 후 소급 등록**. | # | 일시 | 지시 요지 | 처리 상태 | 산출물 경로 | 중단 사유 | 사후 조치 | |---|------|----------|----------|-----------|----------|----------| -| 28 | 2026-04-16 | (PD님 직접 지시, 총괄PM 경유) 기획팀 밸런스 작업을 위한 시뮬레이션 대응 — 07 착수계획(시뮬레이터 이원화 해소) 진행 상태 보고 + 기획팀이 밸런스 작업에 사용할 수 있는 시뮬레이션 환경 구축 | 진행중 | `공유/소통/PM→개발팀/2026-04-16_REQ_시뮬레이션_대응_기획팀_밸런스작업_지원.md`, `공유/소통/개발팀→PM/2026-04-16_RPT_시뮬레이션_대응_현황보고.md` | - | - | +| 28 | 2026-04-16 | (PD님 직접 지시, 총괄PM 경유) 기획팀 밸런스 작업을 위한 시뮬레이션 대응 — 07 착수계획(시뮬레이터 이원화 해소) 진행 상태 보고 + 기획팀이 밸런스 작업에 사용할 수 있는 시뮬레이션 환경 구축. **2026-04-17 PD님 직접 지시로 Unity MCP 기반 시뮬레이션 방향으로 전환** (커밋 `db64310`). | 진행중 | `공유/소통/PM→개발팀/2026-04-16_REQ_시뮬레이션_대응_기획팀_밸런스작업_지원.md`, `공유/소통/개발팀→PM/2026-04-16_RPT_시뮬레이션_대응_현황보고.md`, **`공유/소통/개발팀→PM/2026-04-17_Unity_MCP_시뮬레이션_기술검토_개발팀.md` (2026-04-17 Unity MCP 방향 기술검토 완료)** | - | **2026-04-17 PD님 해석 확정**: 헌법 제1원칙 목표 2 = "코어 코드 프레임워크 차기 프로젝트 활용" 의미. 차기 프로젝트 Unity 전제 여부는 본 목표와 무관 → 개발팀장 상신 사항 해소. **Python 시뮬 파일 소실 확정 — 폐기 사안, 교차 검증 축 단일(Unity MCP)로 확정**. Phase 3 재개 로드맵은 PD님 별도 논의 예정 | 07_v2·11·12 신설 착수는 PD님 Phase 3 재개 논의 후 재개 (PM 재량 대기) | | 1 | 2026-04-14 | NerdNavisCore 타 회사 소유 전환·담당자 퇴사 사실 통보, 자체 범용 코어 신규 제작 결정 | 진행중 | `개발팀/프로젝트_숙지/수상한잡화점/06_신규코어_설계안_v1.md` (초안), `개발팀/코어_설계/01_아키텍처_개요_v1.md` (v1.2→§4-9 ServiceLocator 신설 추가), `개발팀/코어_설계/02_수상한잡화점_추출대상_v1.md` (13+ 파일 분류표), `개발팀/코어_설계/_skeleton/` (UPM 패키지 스켈레톤), **`D:/NerdNavis/NerdNavis.Framework/` 구현체 — Tier 1 기반 Core 4종 완료 (Log·CoroutineRunner·MonoSingleton·ServiceLocator + 테스트 28건) Gitea push 완료** | - | OI-1(네임스페이스 NerdNavis.*) PD님 확정 반영 완료. **OI-2 C+H1 PD님 승인 완료** (2026-04-16 교차 검증으로 확인, 커밋 `7187ac6` 메시지에 명시). OI-3 불요 결정, OI-4 A안 확정, OI-5 폐기. Tier 1+2 MVP 범위 PD님 확정 반영. **Tier 1 잔여 모듈 구현 진행중** | | 2 | 2026-04-14 | 서버 Critical 보안 3건 보류 | 보류 | `개발팀/프로젝트_숙지/수상한잡화점/05_서버연동_현황_v1.md` | 서버 파트 정비 미완료 (PD님 지시) | 서버팀 가동 시점에 블로커급 재개. 담당: 서버팀장. 재개 트리거: 서버 파트 정비 완료 통보 | | 5 | 2026-04-15 | (3대 지시) **A.** Framework Tier 1 기반 Core 모듈 구현 착수 (Logger·ServiceLocator·CoroutineRunner 등 — 설계 문서 재확인 후 파일 단위). **B.** 수상한 잡화점 Phase 0-B/C 재개. **C.** 위 내용을 총괄PM에게도 보고 | 진행중 | **A 완료분**: `코어코드/NerdNavis.Framework/Runtime/Core/**` (Log·CoroutineRunner·MonoSingleton·ServiceLocator 4종 + 테스트 28건). / **B-1/B-2/B-3 완료**: `프로젝트/수상한잡화점/개발/08_전투시스템_SOT_v1.md`, `09_카드시스템_아키텍처_v1.md`, `10_데이터로딩_구조_v1.md`. / **C 일괄 공유 완료** | - | Tier 1 잔여 9종 미구현 + Phase 0-C(Q-P1/P2/P3 응답서·시뮬레이터 전략) 미착수. 시뮬레이션 트랙은 2026-04-17 PD님 지시로 Unity MCP 활용 방향으로 전환(#28에서 통합 관리). | diff --git a/공유/PD_지시_트래킹/기획팀_PD_지시_로그.md b/공유/PD_지시_트래킹/기획팀_PD_지시_로그.md index a1a353f..dd42d7e 100644 --- a/공유/PD_지시_트래킹/기획팀_PD_지시_로그.md +++ b/공유/PD_지시_트래킹/기획팀_PD_지시_로그.md @@ -38,7 +38,7 @@ C3·C13 위반에 해당. **즉시 자진 보고 후 소급 등록**. | # | 일시 | 지시 요지 | 처리 상태 | 산출물 경로 | 중단 사유 | 사후 조치 | |---|------|----------|----------|-----------|----------|----------| -| 3 | 2026-04-15 (세션 중반) | Phase 3 업무 착수 지시 | 보류 | `공유/조직공지/2026-04-14_작업착수전_HOLD공지_전수확인_의무화.md` + `프로젝트/수상한잡화점/기획/Phase3_재개준비_체크리스트_v1.md` | Phase 3 HOLD 유지 중(개발팀 #28 시뮬레이터 이원화 해소 Phase A 부분완료·B~E 미착수, 2026-04-16 RPT 기준). 착수 선행 조건 미충족 | 개발팀 시뮬레이터 이원화 해소 완료 + PD님 재개 지시 후 재착수. REQ 3건은 재개 시 Python↔C# 비교 검증 입력값으로 유지 | +| 3 | 2026-04-15 (세션 중반) | Phase 3 업무 착수 지시 | 보류 | `공유/조직공지/2026-04-14_작업착수전_HOLD공지_전수확인_의무화.md` + `프로젝트/수상한잡화점/기획/Phase3_재개준비_체크리스트_v1.md` + `공유/소통/기획팀→PM/2026-04-17_Unity_MCP_시뮬레이션_기획검토_기획팀.md` (Unity MCP 전환 대응 검토 완료) | Phase 3 HOLD 유지 중. 2026-04-17 PD님 지시로 시뮬 방향이 Headless C# CLI → Unity MCP 기반으로 전환됨. **Python 시뮬 파일(`battle_sim.py` 등) 구 기획실 삭제로 소실 확정 — 폐기 사안으로 기록 (2026-04-17 PD님 확인, 재논의 대상 아님)**. Phase 3 재개 로드맵은 PD님 별도 논의 예정 | 재개 조건·로드맵 재정의는 PD님 차기 지시 수령 후 재개. Python 시뮬 교차 검증 축 폐기로 Unity MCP 단일 SOT 구조 확정 | --- diff --git a/공유/대화로그/수상한잡화점/2026-04-17.md b/공유/대화로그/수상한잡화점/2026-04-17.md new file mode 100644 index 0000000..60dbfec --- /dev/null +++ b/공유/대화로그/수상한잡화점/2026-04-17.md @@ -0,0 +1,17 @@ +# 수상한잡화점 — 2026-04-17 + + +## [12:21] Unity MCP 시뮬레이션 방향 전환 기술검토 완료 +- **요지**: PD #28에 대한 Unity MCP 기반 시뮬레이션 기술검토 수행. 07 Headless 추출안 대비 Unity MCP `execute_code` + EditMode 경로가 결정론·유지비·기획팀 접근성 3축 모두 우위로 판단, 방향 전환 권장. +- **이유**: PD님 2026-04-17 Unity MCP 전환 지시(커밋 `db64310`)가 실질 문서 반영 누락 상태였음. 07 Actor.cs 4,545줄 리팩터링 리스크 회피 + 08/09/10 산출물 100% 재활용 가능. +- **산출물**: `공유/소통/개발팀→PM/2026-04-17_Unity_MCP_시뮬레이션_기술검토_개발팀.md` +- **상태**: 완료 (검토·제안까지. 실제 구현은 PD님 방향 확정 후) +- **기각안**: Play Mode 자동화(결정론 낮음·느림), dotnet CLI Headless(Actor.cs 대규모 리팩터링 필요) — EditMode `execute_code` 주력 + BatchMode 보조 채택 + + +## [세션 시점] Unity MCP 시뮬레이션 전환 — 기획 관점 검토 완료 +- **요지**: PD #28·기획 #3 HOLD 대응. Unity MCP 전환이 기획 관점에서 타당하나 "기획팀 직접 MCP 도구 호출"은 비권장, "개발팀 러너 구축 + 기획팀 입출력 JSON 경로" 권장. +- **이유**: C11(개발 관점)·C7(재미 우선) 역할 경계 유지. 기획팀은 시뮬 기능 명세·입출력 스키마·반복 실행 요구만 정의. Phase 3 부분 재개(Day 1~3) 가능 범위도 개발팀 조기 산출물 3종 매핑으로 정리. +- **산출물**: `공유/소통/기획팀→PM/2026-04-17_Unity_MCP_시뮬레이션_기획검토_기획팀.md` +- **상태**: 완료 (검토 보고까지. 실제 Phase 3 재개는 PD님 재개 지시 후) +- **기각안**: (a) 기획팀 MCP 도구 직접 호출 — 학습 부담 과대·역할 경계 교란 (b) Python 시뮬 아카이브·삭제 — C6 데이터 보호 위반 + Phase 3 v1 붕괴 원인 분석 근거 소실 리스크 diff --git a/공유/대화로그/조직운영/2026-04-17.md b/공유/대화로그/조직운영/2026-04-17.md index 2966dec..d4afd60 100644 --- a/공유/대화로그/조직운영/2026-04-17.md +++ b/공유/대화로그/조직운영/2026-04-17.md @@ -97,6 +97,34 @@ - **산출물**: SKILL.md C31 - **상태**: 완료 + + + +## [PM] 헌법 제1원칙 목표 2 해석 확정 — "코어 코드 프레임워크" 의미 영구 명시 +- **요지**: "차기 프로젝트부터 조직 자산으로 적극 활용"에서 **"조직 자산" = "코어 코드 프레임워크"** (NerdNavis.Framework 등) 명확화. 원칙 A(차기 프로젝트 = 코어 프레임워크 적극 활용) + 원칙 B(현 프로젝트 = 인사이트 기록 → 다음 프로젝트 참고 자료) 2대 원칙 명문화. **되묻기 금지 영구 기록** +- **이유**: 2026-04-17 PM이 "차기 프로젝트 Unity 전제 여부" 상신하며 헌법 원칙 해석을 PD님께 되물은 사건 → PD님 직접 "어떤 세션에서도 놓치지 않도록 명시해서 되묻지 않도록 기억" 지시 +- **산출물**: SKILL.md 헌법 제1원칙 목표 2 전면 개정 +- **상태**: 완료 + + +## [PM] Python 시뮬 파일 소실·폐기 사안 확정 +- **요지**: `battle_sim.py`·`full_stage_sim.py`·`stage_sim_v2.py` NerdNavisAi 레포 내 0건 확인. PD님 확인: 구 기획실 디렉토리 삭제로 소실 추정. 다른 경로 이관 기록 없음 → **폐기 사안으로 기록, 재논의 대상 아님** +- **이유**: Unity MCP 전환으로 교차 검증 축이 Python → Unity 단일 SOT로 확정되어 Python 시뮬 재확보 불요 +- **산출물**: 개발팀 #28 비고·기획팀 #3 비고 갱신 완료 +- **상태**: 완료 + + +## [PM] P26 신설 + pm-auditor 에이전트 신설 — PM 업무 정확도 보장 체계 +- **요지**: PD님 8대 지시 반영. 조직 규칙 P26(PM 업무 정확도 보장 체계) 신설 + PM 보조 감사 에이전트 `pm-auditor` 신설. PM 재량 자율 처리 + 업무 현황 최신 파악 의무 + 보조 에이전트 활용 체계 3축으로 구성 +- **이유**: PM이 #28 보고에서 Unity MCP 전환을 반영하지 못한 C13·C29-4 위반 패턴 재발. PD님 직접 지시: "어떤 세션에서도 총괄 PM이 업무 내용을 정확히 파악하지 못한 답변을 내는 경우가 없도록 해" +- **기각안**: C32 헌법급 격상 — P26 프로젝트 규칙으로 우선 운영 후 효과 측정. 재발 시 C 격상 여지 +- **산출물**: + 1. SKILL.md P26 신설 (P26-1~6: 자율 처리·최신 파악 의무·pm-auditor 활용·위반 처분) + 2. `.claude/agents/pm-auditor.md` 신설 — 감사 영역 4종(로그 추적·규칙 준수·PM 재량 추적·프로세스 개선점) + 수행 모드 3종(A 응답 전 교차검증·B 주기 감사·C 주제 집중) + 3. `공유/소통/pm-auditor→PM/` 디렉토리 신설 + 4. `memory/feedback_pm_context_restoration_failure.md` 2차 재발 기록 추가 + 다음 PM 실측 항목 5종 + 3차 재발 시 처분 강화 +- **상태**: 완료 + ## [PM] `.claude/settings.json` 승인 팝업 처리 — 옵션 4 현 상태 수용 (PD님 승인) - **요지**: SKILL.md·settings.json 수정 시 발생하는 승인 팝업 처리 방안을 4옵션 비교 후 옵션 4(현 상태 수용) 확정 diff --git a/공유/소통/pm-auditor→PM/.gitkeep b/공유/소통/pm-auditor→PM/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/공유/소통/개발팀→PM/2026-04-17_Unity_MCP_시뮬레이션_기술검토_개발팀.md b/공유/소통/개발팀→PM/2026-04-17_Unity_MCP_시뮬레이션_기술검토_개발팀.md new file mode 100644 index 0000000..edb3635 --- /dev/null +++ b/공유/소통/개발팀→PM/2026-04-17_Unity_MCP_시뮬레이션_기술검토_개발팀.md @@ -0,0 +1,147 @@ +--- +type: 기술검토 +from: 개발팀장 +to: 총괄PM +date: 2026-04-17 +related: PD지시 #28, #3, 07/08/09/10 산출물 +status: 작성완료 +--- + +# Unity MCP 기반 시뮬레이션 전환 — 기술 검토서 + +## 0. 요약 (한 줄) +**Unity MCP `execute_code` + EditMode 실행 경로가 결정론·유지비·기획팀 접근성 3축 모두에서 07 Headless 추출안을 우위로 대체 가능하며, 07·08·09·10 산출물은 90% 이상 재활용 가능**하다. 방향 전환을 권장한다. + +## 1. Unity 엔진 내 시뮬레이션 동작 기술 방안 + +### 1.1 Unity MCP 실행 경로 4종 비교 + +| 경로 | 메커니즘 | 결정론 | 속도 | 배치 | 기획팀 접근성 | +|------|---------|--------|------|------|--------------| +| **A. EditMode `execute_code`** | MCP로 C# 스니펫 직접 Eval (Editor 프로세스 내) | 높음 (엔진 루프 차단) | 매우 빠름 (씬 로드 불요) | 우수 (프로세스 상주) | 높음 (JSON in → JSON out) | +| B. EditMode Test Runner (`run_tests`) | `[Test]` 어트리뷰트 메서드를 MCP로 실행 | 높음 | 빠름 | 중간 (테스트 단위) | 중간 | +| C. Play Mode 자동화 | `manage_editor`로 PlayMode 진입 + 씬 실행 | 낮음 (MonoBehaviour 프레임 의존) | 느림 | 약함 | 낮음 | +| D. Batch Mode Headless | Unity CLI `-batchmode -executeMethod` | 높음 | 중간 (프로세스 기동 비용) | 우수 | 중간 | + +### 1.2 권장 경로 — A (EditMode `execute_code`) 주력 + D 보조 + +**A 선택 근거**: +- Unity Editor가 이미 기동된 상태에서 MCP로 C# 코드를 직접 Eval → **Actor.cs 실제 클래스를 그대로 호출** 가능 +- MonoBehaviour/Coroutine 의존은 **EditMode 헬퍼**(프레임 시뮬레이터·코루틴 드라이버)로 우회. 07 Phase A의 의존성 식별(7종) 결과를 그대로 활용하여 stub 주입 +- UnityEngine.Random → `IRandomSource` DI (07 B-3 기획 그대로 유지) +- Addressable → JSON 직접 로드(기획팀 xlsm export JSON 사용, 09·10 구조 활용) +- **Python↔C# 이원화의 근본 해결** (두 구현 자체가 소멸, 한 구현만 유지) + +**D 보조 근거**: CI/야간 대량 배치(1만 회 이상 통계) 시 Editor를 점유하지 않고 별도 프로세스 구동. 동일 C# 코드가 두 경로에서 동일 결과 보장 (EditMode·BatchMode 모두 UnityEngine 엔진 루프 밖에서 동작). + +### 1.3 결정론 확보 설계 +1. 시드 기반 `IRandomSource` 전 경로 주입 (UnityEngine.Random 전수 치환) +2. `Time.deltaTime`·프레임 의존 로직 → `IClock`·`ITickDriver` 주입 +3. Animator/VFX 경로는 `IBattlePresenter` null-object로 차단 (07 B-2 설계 재활용) +4. 동일 시드 + 동일 시나리오 JSON → 비트 단위 동일 결과 검증 + +## 2. 기존 07 착수계획 대비 평가 + +### 2.1 Unity MCP 방향의 이점 + +| 관점 | 07 Headless 추출 | Unity MCP 방향 | +|------|-----------------|---------------| +| **SOT 일치** | BattleCore 추출 → Unity와 동일 어셈블리 공유 | **Unity 프로젝트 자체가 SOT** (추출 개념 자체 불요) | +| **Actor.cs 4,545줄 리팩터링** | 필수 (순수 도메인 분리) | **불요** (stub 7종 주입만) | +| **유지비** | Unity 측 변경 시 BattleCore 재빌드·동기화 | 변경 즉시 반영 (동일 코드) | +| **결정론** | netstandard2.1로 엔진 완전 분리 | EditMode 실행 시 엔진 루프 비활성 (동등) | +| **C11 개발 관점** | 범용성 ○ / 효율성 △ (대규모 리팩터링) | 효율성 ○ / 직관성 ○ / 범용성 △ (Unity 종속) | + +### 2.2 단점·리스크 + +1. **Unity Editor 기동 의존** — 시뮬 실행 시 Unity Editor가 열려 있어야 함(경로 A). MCP 서버도 연동 필요 +2. **기획팀 로컬 환경** — Unity 에디터 설치·프로젝트 열기 필요. 단, 현행 기획팀도 xlsm export → Unity 재로드 루프를 이미 수행 중이라 실질 추가 부담은 **MCP 호출 래퍼 스크립트** 수준 +3. **차기 프로젝트 재활용성 제약** — 헌법 제1원칙 목표 2(차기 프로젝트부터 자산 활용)와의 정합성. Unity MCP 방식은 **Unity 전제 위에서만** 재활용 가능하며, 비-Unity 엔진 이관 시 다시 추출 필요. 현 너드나비스는 Unity 전제 조직이므로 수용 가능하나 **명시 필요** +4. **대량 배치 성능** — EditMode 경로 A는 프로세스 1개 점유. 1만 회 이상 배치는 경로 D(BatchMode 병렬 프로세스) 필요 +5. **Live 디버깅 인프라 부재** — Python 시뮬의 print 기반 경량 검증 대신 Unity Console·MCP read_console 경유 필요 + +### 2.3 기존 산출물 재활용 가능성 + +| 문서 | 재활용률 | 비고 | +|------|---------|------| +| **07 시뮬레이터 이원화 해소 착수계획** | 60% | Phase A(의존성 식별 7종)·B-2(Presenter 인터페이스)·B-3(IRandomSource)·D(결과 교차 검증)는 그대로 유효. Phase B-1(도메인 추출)·Phase C(dotnet CLI)는 폐기, Unity MCP 실행 래퍼로 대체 | +| **08 전투시스템 SOT** | 100% | 전투 공식 명문화는 시뮬 방식과 무관 | +| **09 카드시스템 아키텍처** | 100% | 카드 효과 구조 분석 그대로 유효 | +| **10 데이터로딩 구조** | 100% | JSON 로딩 구조 그대로 유효 (Addressable stub만 추가) | + +## 3. 권장 아키텍처 + +### 3.1 실행 구조 +``` +[기획팀 시나리오 JSON] + │ + ▼ (PM 단일 세션에서 MCP 호출) +mcp__unity-mcp__execute_code + │ → NerdNavis.Sim.Runner.Run(json) + ▼ +[Unity Editor 프로세스] + ├─ IRandomSource(seed) + ├─ IClock/ITickDriver (프레임 시뮬) + ├─ IBattlePresenter = NullPresenter + ├─ ITableLoader = JsonTableLoader (기획팀 xlsm export) + └─ Actor/PCActor/MobActor/EffectMgr (실프로덕션 코드) + │ + ▼ +[결과 JSON] → 기획팀 작업 폴더 + CSV 집계 +``` + +### 3.2 기획팀 반복 실행 인터페이스 + +- **입력**: `시나리오.json` (시드·덱·스테이지ID·반복 횟수) +- **실행**: `scripts/run_sim.ps1 시나리오.json` (PM 세션에 MCP 호출 위임) 또는 Unity Editor 메뉴 `NerdNavis > Sim > Run` +- **출력**: `결과_YYYYMMDD_HHMM.json` + `집계.csv` (HP 추이·클리어율·평균 턴 등) +- **재실행**: 동일 시드 → 동일 결과 (결정론 검증 자동 포함) + +### 3.3 C11 개발 관점 충족도 + +| 기준 | 평가 | +|------|------| +| 자원 효율성 | ○ — 추출 어셈블리 유지 불요, 빌드 비용 0 | +| 코드 직관성 | ○ — 기획·개발 모두 Unity 실코드 1개 참조 | +| 범용성 | △ — Unity 전제 내에서만 재활용. **헌법 제1원칙 목표 2 명시 필요** | + +## 4. 착수 계획 + +### 4.1 재작성·신설 필요 문서 + +| # | 문서 | 처리 | +|---|------|------| +| 07 | 시뮬레이터 이원화 해소 착수계획 v1 | **07_v2로 갱신** (Unity MCP 방향, Phase C/E 재구성) | +| 11 | `11_Unity_MCP_시뮬_실행_설계_v1.md` | **신설** — `execute_code` 스니펫 템플릿·stub 7종 구현·IRandomSource DI 상세 | +| 12 | `12_시뮬_시나리오_JSON_스키마_v1.md` | **신설** — 기획팀 입출력 계약 | +| 08/09/10 | SOT 3종 | **유지** (변경 없음) | + +### 4.2 기획팀 조기 제공 가능 산출물 (단계 순서) + +1. **선행**: 경로 A 기술 검증 (Unity MCP + EditMode에서 Actor.cs 1건 호출 성공) +2. **Stage 1 스모크**: 최소 시나리오(단일 전투) 실행 가능 시점 → 기획팀이 Python 시뮬 병행 검증 개시 +3. **교차 검증 완료**: 대표 스테이지 5건 Python vs Unity MCP 결과 일치 확증 → Python 시뮬 아카이브 + 기획팀 Phase 3 HOLD 해제 요건 충족 + +### 4.3 차단 요인 (C3) + +1. **Unity MCP 연결 상태 의존** — 현재 세션에서 Unity Editor가 열려 있고 MCP 서버가 Stdio(port 6400) 연결된 상태 전제. 연결 끊김 시 시뮬 실행 불가. DevOps 관점에서 재연결 자동화 스크립트 필요 +2. **Actor.cs의 Unity 엔진 의존 7종** — stub 구현 난이도는 경로 A 기술 검증 단계에서만 확정 가능. ObscuredInt/Float(안티치트 라이브러리)는 Editor에서도 정상 동작하는지 실측 필요 +3. **헌법 제1원칙 목표 2 정합성** — 차기 프로젝트가 Unity 전제인지 PD님 확정 필요. 비-Unity 엔진 고려 시 본 방향 재검토 +4. **C30 준수** — `${UNITY_PROJECT_ROOT}`는 별도 git 레포이므로 시뮬 래퍼 스크립트가 Unity 프로젝트 파일을 수정하는 경우 작업 전 `git fetch && git status` 선행 필수 + +## 5. 결론 (권장 판단) + +**Unity MCP 방향 전환을 권장**. 근거: +1. 07 Headless 추출의 근본 리스크(Actor.cs 4,545줄 대규모 리팩터링)를 회피하면서 동일한 "단일 SOT" 효과 달성 +2. 유지비·결정론·기획팀 접근성 3축 모두 우위 또는 동등 +3. 기존 08/09/10 산출물 100% 재활용, 07도 60% 재활용 + +**PD님 결정 필요 사항** (PM 경유 상신): +1. 헌법 제1원칙 목표 2 — 차기 프로젝트 Unity 전제 확정 여부 +2. 07_v2 재작성 + 11·12 신설 착수 승인 + +**본 검토는 검토·제안까지이며 실제 구현 착수는 PD님 방향 확정 후 진행**. 기획팀장의 병행 검토(Unity MCP 환경에서 Phase 3 밸런스 작업 실행 가능성) 결과와 교차 확인 필요. + +--- + +**작성**: 개발팀장 / **수신**: 총괄PM / **배포**: 본 경로 확정 시 기획팀장에게 교차 공유 diff --git a/공유/소통/기획팀→PM/2026-04-17_Unity_MCP_시뮬레이션_기획검토_기획팀.md b/공유/소통/기획팀→PM/2026-04-17_Unity_MCP_시뮬레이션_기획검토_기획팀.md new file mode 100644 index 0000000..065e8bf --- /dev/null +++ b/공유/소통/기획팀→PM/2026-04-17_Unity_MCP_시뮬레이션_기획검토_기획팀.md @@ -0,0 +1,189 @@ +--- +from: 기획팀장 +to: 총괄PM +type: 검토보고 +subject: Unity MCP 시뮬레이션 전환 방향 — 기획 관점 검토 +priority: high +status: 검토완료 +created: 2026-04-17 +ref: PD님 직접 지시 (2026-04-17, Unity MCP 전환), 기획팀 PD 지시 로그 #3 (Phase 3 HOLD), 개발팀 PD 지시 로그 #28, 개발팀 RPT 2026-04-16 +--- + +# Unity MCP 시뮬레이션 전환 — 기획 관점 검토 + +## 0. 요약 (결론부터) + +1. **전환 방향 자체는 기획팀 관점에서 타당**. 단, "기획팀이 Unity MCP 도구를 직접 호출"하는 구조는 **비권장**. 권장 구조는 **"개발팀이 Unity MCP로 시뮬 러너·출력 규격을 구축 → 기획팀은 시드·입력 JSON을 지정하고 결과 CSV/JSON을 수령하는 CLI 혹은 MCP 래퍼 호출"**. +2. **Phase 3 HOLD 부분 재개 가능**. 개발팀 조기 산출물 3종(전투공식 SOT v2 / JSON 스키마 문서 / BattleCore 피해 계산 단독 모듈) 중 **첫 2종이 확보되면 Day 1~3 (재개 준비·Phase 0~2 재검증 1~6번)**까지 즉시 진행 가능. Day 4 이후(성장 요소 기여도 본 측정)는 시뮬 러너 실제 동작이 필요. +3. **Python 시뮬은 교차 검증용으로 유지**. 아카이브 금지. 본 검토 시점 `.cache/*.py`는 NerdNavisAi 레포 부재(개발팀 RPT §3 확인). 기획팀 로컬 PC 또는 이전 작업 디렉토리에 잔존 가능성 높음 — **재개 Day 1에 기획팀 로컬 스캔 + 레포 편입 여부 결정** 필요. +4. **리스크 최대 관심사는 반복 실행 속도·결정론**. Unity Editor 재생 기반 시뮬은 수백~수천 회 반복에 부적합할 수 있음 (C3 관점 사전 경고). + +--- + +## 1. Phase 3에 필요한 시뮬레이션 기능 명세 (기획 요구사항) + +### 1-1. 필수 시나리오 유형 3종 + +| 유형 | 용도 | 반복 횟수(기획 기준) | +|------|------|---------------------| +| **A. 단일 전투 노드 시뮬** | 카드 단품 기여도 측정 (#3 G1 카드 1장 DPS) | 시드 100회 × 조합 N | +| **B. 스테이지 전구간 시뮬** | 성장 요소(#16~#21) 단일 축 변화에 따른 클리어율·평균 턴수 측정 | 시드 500~1000회 × 성장 단계 | +| **C. 앵커 재검증 배치 시뮬** | Phase 0~2 재검증 6건 (#1~#6) 실측 | 시드 100회 (기존 Python 결과 대조용) | + +### 1-2. 입력값 스키마 (JSON) + +``` +seed : int (결정론 보장) +stage_id : string (예: "stage_1") +deck : [card_id × 5] # 카드 덱 구성 +growth_vars : { awakening: int, evolution: int, equipment_set: int, ... } +max_turns : int (무한 루프 차단 상한) +``` + +### 1-3. 출력값 스키마 (JSON 1줄/시뮬 + CSV 집계) + +``` +clear : bool +turns : int +final_hp_ratio : float +total_dmg : int +total_taken : int +potion_used : int +``` + +**핵심 요구**: 시드 고정 시 **100% 동일 결과** (결정론). 개발팀 RPT §4.2 "UnityEngine.Random → 시드 기반 난수 전환 필수" 와 일치. + +### 1-4. 반복 실행 요구 +- Day 4~7 "성장 요소 기여도 본 측정"에서 **수백~수천 회**가 현실적 요구 +- Day 2~3 재검증은 시드 100회 수준으로 충분 + +--- + +## 2. Unity MCP 환경 실행 가능성 평가 (기획 관점) + +### 2-1. 기획팀 직접 호출 vs 경유 실행 + +| 경로 | 평가 | 사유 | +|------|------|------| +| **A. 기획팀이 `mcp__unity-mcp__*` 도구 직접 호출** | **비권장** | (1) Unity MCP 도구군은 씬·GameObject·컴포넌트 조작이 주 기능이며 배치 시뮬 러너 실행에는 `execute_code` 또는 `run_tests` 경유 필요 (2) 기획팀 에이전트(밸런스기획자·시스템기획자)가 Unity Editor API·C# 실행 컨텍스트를 직접 제어하는 것은 **학습 부담 과대**·**실수 리스크** (3) C11(개발 관점 원칙)과 C7(재미 우선 원칙)의 역할 경계 교란 | +| **B. 개발팀이 MCP로 러너·입출력 규격 구축 → 기획팀은 "시뮬 실행 요청" JSON 제출 → 결과 CSV 수령** | **권장** | (1) 기획팀은 **입력·출력 스키마만 이해**하면 됨 (2) 개발팀이 Unity MCP로 러너를 씬/에셋으로 구성하고 한 번 안정화되면 반복 사용 (3) 기획팀 UX: "조합 N을 돌려주세요" 요청 → 결과 테이블 수령. 이는 CLI 방식과 사용성 동일 | +| **C. PM·개발팀이 기획 요청 받아 실행 → 결과 전달** | 병행 가능 | Phase 3 초기·디버깅 단계에서 유용. 안정화 후 B로 전환 | + +### 2-2. 학습 부담·사용성 + +- Unity MCP **풀 도구 학습은 불필요**. 기획팀이 알아야 할 것은 "입력 JSON 스펙 + 결과 포맷 + 실행 트리거 방법" 3가지 +- CLI(dotnet)·Unity MCP 경유 모두 기획 UX는 **유사**(입력 JSON 넣고 결과 파일 받기). 단 MCP 경유는 Unity Editor 가동 상태에 의존 + +### 2-3. 기획팀 경로 선호 +**권장 B(개발팀 러너 구축 + 기획팀 요청 경로)**. 단 러너 실행 트리거는 (a) 개발팀 세션 경유 또는 (b) 기획팀이 단일 MCP 래퍼 도구(예: `mcp__unity-mcp__execute_code` 1개)만 호출하는 방식 중 개발팀 권고에 따름. + +--- + +## 3. 기존 Python 시뮬 자산 처리 + +### 3-1. 소재 확인 (본 검토 시점 실측) +- NerdNavisAi 레포 내 `battle_sim.py`·`full_stage_sim.py`·`stage_sim_v2.py` **부재 확인** (Grep 결과 0건, 개발팀 RPT §3 동일 결론) +- 추정 소재: (a) 기획팀 구 로컬 작업 PC `.cache/` (b) 이전 `기획실/` 네임 디렉토리 흔적 (2026-04-16 "개발실→개발팀" 전환 이전 경로) (c) PD님 로컬 +- **Day 1 최우선 작업**: 기획팀장이 PD님께 소재 확인 요청 + 소재 파악 시 레포 `프로젝트/수상한잡화점/기획/시뮬_레거시/` 편입 + +### 3-2. 전환 시 처리 방침 (권장) + +| 구분 | 처리 | 사유 | +|------|------|------| +| **Python 시뮬 코드 본체** | 레포 편입 후 **"레거시/교차 검증 참조"**로 유지. 아카이브·삭제 금지 | (1) Phase 3 재개 Day 1-3 Python↔Unity 교차 검증 입력값 (2) Phase 3 v1 붕괴 원인 분석 근거 (3) C6 데이터 보호 원칙 | +| **Python 시뮬로 도출한 밸런스 수치** | 모든 수치는 **Unity 시뮬 재검증 대상**. Python 결과는 참고용으로만 사용 | Phase3 재개준비 체크리스트 v1 §6-3 "이원화 리스크" 교훈 준수 — "모든 수치는 C# 시뮬 기반으로만 산출" | +| **재검증 범위** | Phase 0~2 앵커 시뮬 6건(#1~#6) + 카드 시너지 축 4건 + 성장 요소 6건 = **총 16건 우선 재검증** | Phase3_재개준비_체크리스트_v1.md §3-2 매핑 그대로 | + +--- + +## 4. Phase 3 부분 재개 가능성 평가 + +### 4-1. 개발팀 조기 산출물 3종 대비 재개 가능 범위 + +| 개발팀 조기 산출물 (RPT §5-2) | 기획팀 재개 가능 범위 | Phase3 체크리스트 매핑 | +|-------------------------------|---------------------|----------------------| +| **(1) 전투공식 SOT v2 문서** | Day 1-2·1-4 (교차 검증 리뷰·사전 산출물 재독), Day 2~3 재검증 **"설계 레벨" 검토** 가능 (실측은 불가) | Day 1~3 일부 | +| **(2) JSON 데이터 테이블 스키마 문서** | 시뮬 입력값 정비·검증. 스테이지·몬스터·카드 데이터 구조 파악 | Day 1-3 (CLI 가이드 대체 가능) | +| **(3) BattleCore 피해 계산 단독 모듈** | **Day 2~3 재검증 앵커 시뮬 6건 중 #1·#2 (PC DPS·TTK)** 피해 계산 단위까지는 실측 가능 | Day 2-1·2-2 | + +### 4-2. 재개 선행 조건 재정리 + +| 종전 조건 (Phase3 체크리스트 §1-1) | Unity MCP 전환 반영 후 | +|-----------------------------------|----------------------| +| #1 Headless C# 시뮬 추출 완료 | → **Unity MCP 기반 시뮬 러너 동작 확인** (씬·러너·입출력 JSON 스키마 확정) | +| #2 Python ↔ C# 교차 검증 | → **Python ↔ Unity 시뮬 교차 검증** (대상 동일) | +| #3 기획팀용 CLI 가이드 | → **기획팀용 시뮬 실행 가이드** (MCP 래퍼 호출 방식 또는 개발팀 경유 요청 포맷) | +| #4 PD님 재개 지시 | → 동일 | + +### 4-3. 즉시 재개 가능 작업 (조건부) +개발팀 조기 산출물 (1)(2) 수령 시점에 Day 1 (선행 확인·사전 산출물 재독·CLI 가이드 정독 대체)·Day 2~3 일부(설계 레벨 재검증) **즉시 착수 가능**. Day 4 이후는 (3) + 반복 실행 환경 구축 완료 조건. + +--- + +## 5. 추가 차단 요인·리스크 (C3 사전 경고) + +### 5-1. 반복 실행 속도 리스크 (최대 관심사) + +| 리스크 | 내용 | 완화 방안 | +|--------|------|-----------| +| **Unity Editor 기반 시뮬의 반복 속도 병목** | Unity Editor Play Mode 1회 실행 시 씬 로딩·초기화 오버헤드 발생. Day 4~7 성장 요소 측정은 시드 500~1000회 × 성장 축 5종 × 단계 10개 = 최대 **5만 회** 반복 필요 | (a) Headless 모드 러너 권장(에디터 UI 없이 C# 도메인 코드만 실행) (b) **단일 Play Mode 세션 내에서 배치 루프 처리** (씬 로드 1회·내부 반복 N회) (c) 결과 비동기 JSON 라인 출력 | +| **대안**: `run_tests` 기반 배치 | Unity Test Framework의 배치 러너로 수십~수백 회 반복은 현실적. 수천 회는 미지수 | Day 4 착수 전 **개발팀이 시뮬 1000회 런타임 벤치마크** 수행 후 기획팀 공유 | + +### 5-2. 결정론 보장 요구 +- 기획팀 Phase 3 측정은 **시드 고정 시 재현성 100%** 필수 +- 개발팀 RPT §4.2 `UnityEngine.Random → 시드 기반` 이미 식별됨. **기획팀 요구사항과 일치 확인** +- 추가 요구: Coroutine·Time.deltaTime 기반 타이밍 요소도 **틱 기반**으로 환원 필수 (RPT §2.2 "Coroutine → 턴/틱 기반 루프로 전환" 이미 식별됨) + +### 5-3. 카드 효과 200종 커버리지 + +- 개발팀 RPT §4.1 "카드 효과 200종 전수 대응 난이도 **상**" +- **기획 관점 권장**: Phase 3 재개 범위의 **카드 빌드에 실제 사용되는 카드 효과 우선 구현**. 전수 200종이 아닌 **#3~#5 G1 카드 중심 + #16~#21 성장 요소 관련 효과**로 한정 +- 전수 커버리지는 Phase 3 종료 후 점진적 보완 트랙으로 분리 + +### 5-4. 기타 우려 + +| 우려 | 내용 | +|------|------| +| **Unity 버전·에셋 변경 시 회귀 리스크** | 개발팀 Unity 버전·패키지 업데이트 시 시뮬 결과 회귀 가능성. 기획팀이 수치를 받았는데 환경 차이로 재현 불가 | 시뮬 러너에 **Unity 버전·커밋 해시 기록** 의무화 | +| **조직 레포 ↔ Unity 프로젝트 레포 분리 상태** | Unity 프로젝트는 `${UNITY_PROJECT_ROOT}` 별도 관리(C30). 시뮬 러너 코드·입출력 JSON 저장 위치를 명확히 해야 재현 가능 | **입력 JSON은 조직 레포, 러너 코드는 Unity 레포, 결과물은 조직 레포 재반영** 권장 | +| **C30 준수** | Unity 프로젝트 건드리는 모든 제안은 **작업 착수 전 git 최신 상태 점검** 의무. 본 검토는 제안 단계이므로 Unity 레포 직접 수정 없음 | 실제 러너 구축 착수 시 개발팀이 C30 수행 | + +--- + +## 6. 기획팀 권장 재개 순서 (개발팀 협의 전제) + +| 순서 | 작업 | 선행 조건 | +|------|------|-----------| +| 1 | Python 시뮬 소재 확인 + 레포 편입 결정 | 기획팀장 단독 수행 가능 | +| 2 | 개발팀 조기 산출물 (1)·(2) 수령 | 개발팀 작업 완료 | +| 3 | Day 1-2·1-4 (교차 검증 리뷰·사전 산출물 재독) | 2 완료 시 | +| 4 | Day 2~3 재검증 6건 중 설계 레벨 가능 항목 선 수행 | 3 완료 시 | +| 5 | 조기 산출물 (3) + Unity 러너 1000회 벤치 수령 | 개발팀 작업 완료 | +| 6 | Day 2~3 실측 재검증 완료 + Day 4 착수 여부 결정 | 5 완료 + PD님 재개 지시 | +| 7 | Day 4~7 성장 요소 기여도 본 측정 | 6 완료 + 반복 속도 요구 충족 확인 | + +--- + +## 7. 본 검토의 한계 및 후속 + +### 7-1. 본 검토가 전제한 것 +- 개발팀 RPT 2026-04-16 §1~§7 내용 (특히 Phase A 부분 완료·조기 산출물 3종 가능성) +- Phase3_재개준비_체크리스트_v1 Day 1~15+ 로드맵 +- Unity MCP 도구군은 본 기획팀장이 직접 사용하지 않았음 — 사용성 판단은 **도구 목록·역할 기반 추정**. 실제 사용성은 개발팀 기술 검토 결과와 교차 확인 필요 (C5 미확인 태그) + +### 7-2. 개발팀 병렬 검토와의 접점 +- 개발팀장이 병렬로 진행 중인 "Unity Editor 내 시뮬레이션 동작 방안·권장 아키텍처" 검토와 §2-1 경로·§5-1 반복 속도·§5-2 결정론 항목에서 교차 검증 필요 +- PM이 양 검토 취합 시 §6 권장 순서를 기준 골격으로 사용 권고 + +### 7-3. 본 검토의 결정 재량 범위 (P23) +- 기획팀장 재량: §1 기능 명세, §3 Python 자산 처리 방침, §4 부분 재개 가능 범위 판단 +- PM 확인 필요: §2-1 권장 경로 B의 개발팀 측 수용 여부, §5-1 벤치마크 요청 +- PD님 확인 필요: Phase 3 재개 트리거 조건 재정의 (§4-2), 재개 시점 지시 + +--- + +## 8. 변경 이력 + +| 일자 | 작성자 | 내용 | +|------|--------|------| +| 2026-04-17 | 기획팀장 | Unity MCP 전환 관련 기획 검토 초안 |