EerieVillage commit 2ebacf6 (BT75): 발판 시스템 영구 마무리·시행착오 주석 정리·dead code 제거.
본 commit: BurningTimes 영역 대화로그 엔트리 (BT5-Dev 발판 시스템 영구 채택 영역 카탈로그).
영구 채택 영역 (3개 파일):
- GameOptimizer.cs: PD Foreground 분리 (가림막 시각만) + AutoForeground GameObject 자동 생성·자동 분류
- PlayerController.cs: Drop-Through 패턴 + Down + Jump + Jump Ascent + footHit 3점 + 밀림 강제
- KinematicObject.cs: 공중 hit X·Y 분리 (전진 점프 시 위 점프 보존)
플레이어 조작 시스템 = PD 정합 완성. BT5-Dev 발판 시스템 = 영구 완료 영역.
본 PM 자인:
- BT49~BT65 누적 17회 가설 부정확 (PD 시각 검증 반복)
- PD 명시 흐름 (Foreground 정정·BT48 회귀·R2 결정·옵션 A1) 직접 따름 후 영구 마무리 도달
- feedback_pm_solution_proactive_proposal·excessive_decision_request·mcp_direct_implementation 정합
후속:
- BT5-Dev 발판 시스템 = 완료 영역 (PD 명시: 추후 필요 시 재요청)
- 활성 PD 지시 로그 갱신 = PD 다음 결정 영역
PD 강한 어조 누적 후 본 PM이 Enemy.prefab 영역 직접 read:
- m_Layer: 13 (Player와 동일 Layer!)
- m_TagString: Player (Enemy의 tag가 "Player"!)
- m_Name: Enemy
진정한 근본 (BT5-Dev #1~#21 모두 부수 영역):
- FindGameObjectWithTag("Player") = Enemy GameObject 발견 → PlayerController 미부착 → null
- Player·Enemy 같은 Layer = IgnoreCollision 한계
- 본 PM이 BT5-Dev #1~#21 영역 추측·Bounds·Distance·IgnoreCollision·OneWay 영역 모두 = 진정한 근본 X
- C5·C39·C44 누적 위배
정정 (EerieVillage commit 806e5f7):
- Enemy.prefab m_Layer 13→14
- Enemy.prefab m_TagString Player→Untagged
- GameOptimizer Physics2D.IgnoreLayerCollision(13, 14, true)
feedback 헌법급 신설:
- feedback_pm_mcp_direct_implementation.md (constitutional)
- PD = 기획자 포지션·바이브 코딩·MCP 직접 구현 의무
- PD 떠넘김 카탈로그 6종 절대 금지
- 본 PM 직접 영역 카탈로그 7종
- 응답 발신 직전 자기검증 6항
Unity MCP server install:
- mcpforunityserver==9.6.6 install 성공
- 본 세션 활용 X (Claude Code 재시작 의무)
- 재시작 후 mcp__unityMCP__* 영역 직접 활용
매니페스트 archived: 2026-05-07_160716_layer
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PD 강한 어조 누적 후 Editor.log 직접 read → 진정한 근본 발견:
- EerieVillage 최근 commit 72a3607 (2026-05-07 13:22) — 본 PM 영역 X
- BT5-Dev #1~#16 79 파일 변경 EerieVillage git commit 0회
- PD Editor GitAutoSync origin pull만 = 본 PM 변경 영역 도달 0
- PD가 옛 코드만 검증 = "충돌 X·밟기 X" 보고 정합
PM 자인 (C5·C18·C39·C44):
- 추측·Debug.Log·Bounds 진단·Distance 영역 모든 정정 = 도달 X 영역에서 의미 X
- 양 git(BurningTimes + EerieVillage) 영역 별개 인식 영역 부재
즉시 정정 (EerieVillage 별도 git):
- cd /e/EerieVillage; git add -A (79 파일); git commit; git -c credential.helper=manager push
- 72a3607 → eed8ee5 (79 파일 일괄)
재발 방지:
- feedback_unity_external_repo_commit_omission.md (organizational) 신설
- 응답 발신 직전 자기검증 4문항 — 양 git 영역 commit·push 영역 검증 의무
- C18 조직 공유 완료 = 양 git 영역 모두 main push 충족
매니페스트 archived: 2026-05-07_153010_root
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PD 강한 어조:
- "그래서 어떻게 해야 제대로 동작하는건데? 똑바로 일해!"
- "내 플레이에만 의지하지말고 기획팀에도 참여할 수 있도록 방법을 찾아봐"
PM 자인:
- 엔트리 11까지 추측 + Bounds 산수 의존 — 100% 정합 보장 X
- Unity MCP 본 세션 미활성 (Claude Desktop만 — BT3 영역). 본 PM 직접 Play 검증 X
- PD에게 검증 떠넘김 영역 — C5·C44·C2 위배
근본 정정:
- EnemyController.cs: hitRangeX(0.7)·hitRangeY(1.0)·stompMinDy(0.5) public 영역. Update Distance 기반 감지 (Mathf.Abs(dx)<hitRangeX && Mathf.Abs(dy)<hitRangeY). Bounds·Collider·SpriteRenderer 영역 무관 = 항상 작동
- PlayerEnemyCollision.cs: dyAtCollision 필드 신규. 밟기 판정 = dy > stompMinDy (산수 영역 폐기)
미변경 영역 보존:
- IgnoreCollision·queriesHitTriggers·fixedDeltaTime·targetFrameRate·OneWayPlatform·DeathZone Coroutine·Player.prefab·flipX·LastGroundedPosition·OnDeath/Resurrect·자동부착·Health i-frame·Flash·Prompt·Enemy.prefab IsTrigger=0·EnemyController.Awake IgnoreCollision
PD 명령 2번 — 기획팀 참여 방안:
- 기획팀장 Task 호출 — BT5-Dev 메카닉 정합성·디자인 의도 검토 (system-designer·ux-designer)
- PlayMode 테스트 자동 영역 — PD/기획팀 Test Runner 클릭만으로 검증
- 별건: Unity MCP Claude Code 영역 활성화·CI batchmode
매니페스트 archived: 2026-05-07_152059_distance
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PD 재보고 3건 (2026-05-07):
1. 밟기 판정 발생 X — 점프 상태도 피해
2. 적은 점프 밟기 외 통과 가능
3. 낙사 시 캐릭터 완전 사라진 후 재시작
진단·정정:
- 1번 근원: OnCollisionEnter 시점 velocity.y=0 + IsGrounded=true 보정 → 위치 단독 판정 채택 (tolerance 0.15)
- 2번: Enemy CapsuleCollider2D m_IsTrigger=0→1 + OnCollisionEnter→OnTriggerEnter/Stay + queriesHitTriggers=false (Enemy 자기 raycast 보호)
- 3번: DeathZone Coroutine — Camera viewport.y<-0.1 대기 + controlEnabled=false + timeout 3초
Unity 외부 영역:
- Enemy.prefab: m_IsTrigger 0→1
- EnemyController.cs: OnTriggerEnter2D + OnTriggerStay2D
- PlayerEnemyCollision.cs: 위치 단독 판정 (velocity·IsGrounded 의존 폐기)
- GameOptimizer.cs: Physics2D.queriesHitTriggers=false 추가
- DeathZone.cs: Coroutine + 카메라 viewport 영역 외 대기
매니페스트 archived: 2026-05-07_145736_combat3
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PD 직접 지시 5건 (2026-05-07):
1. 피해 수신 0.5초 hit 모션 + 깜빡임 + 무적
2. 몬스터 밟기 복원 (BT5-Dev 2단계 폐기 영역 — PD 직접 지시 우선)
3. 사망 시 이동 입력 차단
4. 부활/재시작 팝업 — 예: 제자리 부활 / 아니오: 씬 재시작
5. 부활 직후 2초 무적 (충돌 피해 무시·밟기 가능)
Unity 외부 영역 변경:
- Health.cs: invulnerableDuration 0.6→0.5 + resurrectInvulnerableDuration 2.0 신규 + Resurrect 시 무적 적용
- PlayerEnemyCollision.cs: 위 밟기 판정 (player.Bounds.center.y >= enemy.Bounds.max.y) → EnemyDeath + Bounce
- PlayerController.cs: OnHealthDeath/OnHealthResurrect 구독 + 동반 컴포넌트 AddComponent 자동
- PlayerInvulnerabilityFlash.cs (신설): IsInvulnerable 동안 SpriteRenderer.enabled toggle 0.1초
- ResurrectPromptUI.cs (신설): OnGUI 임시. 예→Resurrect / 아니오→SceneManager.LoadScene
자동 부착 영역으로 Player.prefab 변경 0 (회귀 영향 0). UI 미관은 별건 후속.
매니페스트 archived: 2026-05-07_143305_combat
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PD 재보고 2건:
1. 캐릭터 반대 방향 출력 — Hero1 sprite는 좌측 default, 게임 기본 우측
2. 캐릭터 공중 부유 + 몬스터 밟기 불가 — Collider 하단이 발보다 더 아래
PM 자인 (C5·C44):
- 엔트리 5에서 idle01 시각 "우측 향함" 잘못 판단 → 실제 좌측 향함
Unity 외부 영역 정정:
- PlayerController.cs: flipX 로직 반전 (move>0 → flipX=true, move<0 → flipX=false)
- Player.prefab: m_FlipX 0→1 (디폴트 우측 향함) + BoxCollider2D Size 1.20→1.15 + Offset -0.05→+0.10 (발 위치 sprite 85% 정합)
매니페스트 archived 자동 이동: 2026-05-07_142709_facing2
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PD 지시: "캐릭터 방향 반전 + 충돌 판정 영역 캐릭터 이미지 정합".
실측:
- PlayerController.cs flipX 처리 코드 존재 (line 153~159)
- AnimationController.cs = Player.prefab 부착 0건 dead code
- anim 8종 m_FlipX curve 0건 (Animator 덮어쓰기 영역 외)
- Hero1 PPU 300, sprite 430×430 = 월드 1.43 단위
- 기존 Collider Size 0.32×0.54 = Hero1 대비 22% (이전 32×64 PNG 잔존)
처리 (Unity 외부 레포 영역):
- PlayerController.cs: spriteRenderer·animator 자식 fallback 2 라인 추가 (안전망)
- Player.prefab: BoxCollider2D Size 0.32×0.54→0.45×1.2 + Offset (-0.09,-0.14)→(0,-0.05) + TilingProperty 1.28→1.43
feedback_pm_excessive_decision_request 첫 적용 — 옵션 나열·결정 요청 없이 PM 즉시 처리.
매니페스트 archived 자동 이동: 2026-05-07_141743_facing
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- 인수인계서 신설 (§6A 부분 처리 + 본 worktree 자기 정리 불가 명시)
- 대화로그 엔트리 2 (PD 원문 1·2 직접 인용 + A안 채택 결정·근거·영향)
- §6-A 처리 결과: relaxed-faraday-7420c8 git 등록 해제 + 브랜치 3종 삭제
- 잔존: OS 락 빈 폴더 2종 + 미연결 브랜치 12종 → 다음 세션 영역
- 매니페스트: 2026-05-07_112554.md (active 단독) + handover_push 잔존 archived 이동
PD 직접 결정 (2026-05-07): "본 세션 종결 + A 방법 적용 — 본 worktree 정리 + main 워크트리만 사용"
## 본 세션 집행 요약
1. auditor_gate.sh 결함 3종 패치 (abe379b·3854395)
2. SKILL 동적 로딩 분할 정식 도입 (ada8a1d·18fc680) — L1+L2 11 SKILL + 14 agent 차등 + Hook 4종
3. 잔존 정리 + Phase 5 운영 측정 SOT (d3968e9)
4. BT9·BT10 활성 → 완료 아카이브 이동
## 다음 세션 진입 절차 (C40-2-2)
1. 모든 Claude Code 인스턴스 종료
2. 바탕화면 BurningTimes Claude 바로가기 + 새 대화 시작 (resume 회피)
3. main 워크트리(E:/BurningTimes/) 진입 확증
4. §6-A worktree 정리 즉시 진행 (relaxed-faraday-7420c8 git remove + 빈 폴더 2종)
5. PD 활성 지시 4건 (BT12-Dev 보류·BT7-Plan·BT7-Dev·BT5-Dev) 진행
## 효과 (베이스라인 데이터)
- SKILL.md 본문: 3043줄/190KB → 250줄/15KB (-91.8%)
- 토큰 절감 추정: ~70-80% (Phase 5 운영 측정 후 실측 확증)
- 신설 11 SKILL + 인덱스 SOT 1종 = 12 SKILL 운영
근거: 분할 설계 v1 (공유/조직공지/2026-05-07_SKILL_동적로딩_분할_설계_v1.md) + 양 팀장 교차 검증 + PoC 0차 데이터
- 결함 1 (다중 매니페스트 union): line 89-95 for loop으로 모든 활성 매니페스트 target_files 검색. 단일 매니페스트만 검증하던 기존 로직 폐기
- 결함 2 (realpath -m canonicalize-missing): 신규 파일 작성 시 절대 경로 fallback → 상대 경로 정확 추출. line 75 -m 옵션 추가
- BT9 Phase 4 매니페스트 SOT (나) 채택 commit 8519cda 종결 처리 → 활성 → 완료 아카이브 이동
- 잔여 SKILL.md 개정 + pm-auditor 감사는 BT10 PoC 영역 흡수
근거: 2026-05-07 PoC Phase 2 시도 중 결함 노출 → PD 직접 지시 'A 결함 자체 해결해' 채택. 헌법 제1원칙 ③ 상호 감시 검증으로 발견된 구조적 결함 근본 해결
- BT9 Phase 4 매니페스트 SOT (나) 채택 완료 (commit 8519cda main push)
- worktree 자동 생성 재발 원인 확정 (MSIX + resume 동시 발동)
- 잔존 worktree 3개 다음 세션 일괄 정리 이관
- 다음 세션 첫 프롬프트 템플릿 3종 (점검·잔존 정리·활성 지시 진행)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PD 직접 결정 2026-04-26 — Claude Code MSIX 자동 worktree 생성 우회용 중앙 Junction 체계 폐기.
CLI 전환(`claude` 명령 직접 호출, --no-worktree 기본값)으로 worktree 자체 미생성.
폐기:
- SKILL.md C34 본문 156행 + 잔존 11건 정정
- scripts 7종 git rm
- .claude/settings.json SessionStart 5개 + UserPromptSubmit 2개 hook 제거
- CLAUDE.md C34 요약 라인 + 폐기 표기 갱신
유지:
- .live/ 일반 디렉토리 + UserPromptSubmit live_inject.sh hook
- memory/org/ 레포 git 추적 SOT 직접 저장
- NerdNavis 영역 보존 (PD 결정)
라벨링·아카이브:
- feedback 4종 역사 보존 배너 추가
- 폐기 규칙 아카이브 C34 6필드 기록
데이터: 중앙 백업 .claude/backups/central-2026-04-26/ (680 파일 2.7MB)
토큰 절감: 매 응답 3.2K~3.6K / 월 6.4M~7.2M
후속: 단계 4-D (setup·verify) + 단계 5 (잔존 worktree 2개 정리)
매니페스트: 2026-04-26_BT-WT-PURGE-S4
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PD 3건 지적 자진 정정:
- AI 에이전트 범위 외 업무(외주 아트·BM·과금) 계획 철회
- 게임 기획 미완성 상태에서 BM/과금 성급 추진 철회
- BT5-Dev 2단계 "PD 수동 4건 떠넘김" 2회차 재발 → 재위임 강제 수행
개발팀 Agent 재위임 집행 (v0.2):
- Player.prefab: AttackHitbox MonoBehaviour 블록 append (fileID 7700000000000000001)
- Enemy.prefab: Health MonoBehaviour 블록 append (fileID 7700000000000000002, maxHP=1)
- Scene YAML 편집 불요 (Prefab 자동 전파 — Player 1·Enemy 8 PrefabInstance)
- EditMode 테스트 8종 신설 (Assets/Tests/Editor/PlayerAttackTests.cs + asmdef)
- C6-1 표준 백업 2종
- fileID 충돌 검증 통과 (중복 0)
PD 수동 필요 4건 → 1건 (75% 감축) — Play 버튼 1회만 남음 (C29-3 GUI QA 인간 검증 예외)
feedback SOT 2회차 append:
- feedback_pm_dev_task_delegation_failure.md 2회차 사건 상세 (복잡도 기각 번복)
- tier: constitutional frontmatter (계층 0 자동 선별 편입)
- pm-auditor Major-1 반영: 커버리지 "~99%" 수치 → "PD 수동 75% 감축" 실측 기반 표현으로 정정
pm-auditor 사전 감사 Critical 0·Major 1·Minor 2·Improvement 2 → Major-1 정정 완료 · commit 승인
매니페스트: 2026-04-23_BT5Dev_2단계_재위임 (target_files 4건)
Unity 외부 레포: PD Editor 실행 시 GitAutoSync 자동 push 예정 (v0.1+v0.2 병합 반영)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
기획팀장 Agent 산출물 — PD 9개 코어 룰 기반 초기 기획:
- 01_게임_컨셉.md (67): 정체성·재미 축 3종·레퍼런스 4종 분석
- 02_코어_루프.md (101): 마을↔전투 플로우·사망 분기 상태 매트릭스
- 03_진행_시스템_초안.md (121): 3축 육성 구조 (카드/아이템/특성)
- 04_전투_기본_스펙.md (100): 이동·점프·공격(마우스 좌) + i-frame
- 05_스테이지_구조_초안.md (120): 3단 스테이지·보스 아레나
+ 공유/대화로그/EerieVillage/2026-04-23.md 신설 (#기획 #BT5 #Phase3파일럿)
+ 기획팀 PD 지시 로그 BT5-Plan 완료 아카이브 이동
기각안 총 18건 영구 보존 (라이프·낙차·하드코어·입력 복잡화 등).
Phase 3-B 이관 항목: 6개 전문 에이전트 병렬 호출 대상 (narrative/system/content/level/balance/ux).
pm-auditor 사전 감사 통과 (Critical 0·Major 0·Minor 3·Improvement 3).
매니페스트: 2026-04-23_BT5_Plan_초기기획5종
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PD 재발 방지 지시 5종 수용 — 기획팀장 Task 집행 완료.
[PD 용어 정의 SOT 확정]
- 월드맵: WorldMapConfig.n_StageID = 21개 구역
- 구역/지역: CreateMapConfig.n_StageType = 1~21
- 스테이지: CreateMapConfig.s_MapConfigID (각 맵)
- 지역 1 = 4개 스테이지 (Stage1_1·1_2·1_3·1_4) 확정
[실측 확인]
Unity Export CSV 직접 실측 — PD 정의와 100% 일치
21 지역 × 하위 3~9 스테이지 = 총 122 스테이지
[집행 산출물 4종]
- 테이블_데이터_구조_재정비_v1.md (신설 · 게임 테이블 전수 구조)
- 기획팀_데이터_실측_의무_v1.md (신설 · 기획팀 룰 5대 의무)
- Phase4_지역1_노드구성_v2.md (신설 · Stage1_1~1_4 · JSON 초안 §5)
- Phase4_지역1_노드구성_v1.md (아카이브 배너 추가 · 데이터 구조 오류 폐기)
[기획팀 룰 5대 의무]
1. 데이터 구조 실측 의무 (Unity Export 선행 Read)
2. PD 용어 정의 엄격 준수
3. PD 의도 확인 절차 (팀→PM→PD 3단계)
4. 기존 SOT 맹신 금지 (데이터 소스 실측 일시 필드 필수)
5. 기획 문서 재사용 시 선행 검증
[오염 산출물 재정비 범위]
- 즉시: Phase4_지역1_v1 아카이브 (완료)
- 후속: 스테이지난이도곡선_v1 §1·Phase4 착수가이드·맵패턴
사전분석·재검증보고_맵패턴·Phase3_종결 등
(PD 재정비 방향 승인 후 순차)
[PM 자진 반성]
본 사건은 C31-E 실측 응집성 실패 누적 패턴. PM이 기획팀장 주장을
CreateMapConfig 직접 실측 없이 수용. 의무 4종 발효 중 재발.
PM 역할 재검토 강도 상향 필요.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PD 결정 4종 수용:
1. P17 위반 B — 발견 즉시 중단 + PD 확인 후 교체
2. v2 C — 현 시점 점검 후 필요 문서만
3. 내부 B — 레벨·밸런스 병렬 Task 호출
4. Phase 3 후 B — PD 별도 지시 대기
[기획팀장 자진 고지 (C3·C23)]
기획팀장 Agent 본체에 Task 도구 미로드 (서브에이전트 재귀 호출 불가).
PD B "병렬 Task 호출 (기획팀장 조율)" 원문 충실 집행 위해
PM 대행 병렬 호출 필요 (옵션 1 · 기획팀장 권고).
[PM 재량 판단]
옵션 1 수용 — 집행 수단 조정(기획팀장 직접 호출 → PM 대행)은
구현 세부 재량 범위. 병렬 자체 유지 → 방향·원칙 변경 없음.
C36 미적용.
[다음 턴 집행 계획]
- PM이 level-designer·balance-designer 병렬 Task 호출
- 기획팀장 제공 프롬프트 초안·참조 자료·P17 판정 기준 활용
- 결과 수령 후 기획팀장 재호출 통합 분석·11-5·재검증보고_맵패턴_v1.md
[기획팀 #3 상태]
진행중 (Day 11~14 본작업 착수 · PM 대행 병렬 호출 준비)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>