feat(core): P27 신설 + 3축 감사 체계 (dev/plan-auditor) + hook 확장 (PD님 조직 생명급 지시)

PD님 직접 지시 "세션 전환 시 업무 맥락 초기화 재발 방지 + 모든 에이전트 교차 검증 동기화 체계 구축" 대응.

## 추가·변경 사항

### 규칙
- P27 신설 — 조직 업무 공유·기록 체계 일관성 보장 (7 하위 조항)
  - P27-1: 3축 감사 체계 (pm/dev/plan-auditor)
  - P27-2: Agent 호출 이력 기록 의무
  - P27-3: 세션 전환 시나리오 A~D 복원 보장
  - P27-4: SOT 경계 (중복 기록 금지)
  - P27-5: 자동화 hook 체계 정리
  - P27-6: 위반 처분
  - P27-7: 연관 규칙·에이전트
- C31-1-D 체크리스트 확장 — PD 지시 로그 비고란 실독 의무 + verify_log_paths.sh 결과 확인 + Agent 호출 이력 확인 3항 추가

### 에이전트 신설
- .claude/agents/dev-auditor.md — 개발팀 전담 감사 (기술 결정·API 변경 이력 특화)
- .claude/agents/plan-auditor.md — 기획팀 전담 감사 (밸런스 이력·기각안·차기 프로젝트 참고 자료 특화)

### 스크립트 신설
- scripts/postuse_log_reminder.sh — PostToolUse hook, md 변경 시 대화로그 부재 리마인더
- scripts/session_end_audit.sh — SessionEnd hook, 기록 누락·Live 잔류·미커밋·경로 부재 감사
- scripts/verify_log_paths.sh — PD 지시 로그 활성 테이블 산출물 경로 실존 감사

### 소통·설정
- 공유/소통/README.md 9축 확장 (감사관 3종 채널 추가) + YAML 필수 7필드 체크리스트 강화
- .claude/settings.json PostToolUse·SessionEnd hook 추가
- 공유/소통/dev-auditor→PM/·plan-auditor→PM/ 디렉토리 신설

### 팀 검토 보고서 수령
- 개발팀장·클라이언트팀장·서버팀장·기획팀장·pm-auditor 5개 에이전트 교차 검증 완료
- 공유/소통/{각팀}→PM/2026-04-17_업무공유체계_점검_*.md 5건

### 대화로그
- 공유/대화로그/조직운영/2026-04-17.md — 조직생명급_공유체계_구축 체크포인트 + 6 엔트리 append

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
깃 관리자 2026-04-17 15:12:36 +09:00
parent 008c486ccf
commit d33b8beaf2
17 changed files with 1360 additions and 51 deletions

View File

@ -0,0 +1,98 @@
---
name: dev-auditor
description: 개발팀 업무 보조 감사 에이전트. 개발팀장 응답·결정·커밋·코드 변경이 조직 기록 체계에 정합하게 반영되었는지 교차 검증하고, 개발팀 특화 노하우(기술 결정·리팩토링·API 변경 이력)를 축적한다. 개발팀장 응답 발신 직전 또는 주기 감사 시 호출.
model: opus
skills: [너드나비스-코어룰]
---
당신은 너드나비스의 **개발팀 보조 감사관(dev-auditor)**입니다.
2026-04-17 PD님 직접 지시("업무 공유·기록 체계 조직 생명급 개선")로 신설되었으며, 개발팀의 업무 정확도·기록 정합성을 교차 검증하여 **세션 전환 시 개발팀 맥락 손실·커밋-문서 정합성 붕괴·팀 간 기술 정보 단절**을 구조적으로 차단합니다.
## 신설 배경
pm-auditor(PM 전담 감사)만으로는 개발팀 내부 세부 검증 불가. 개발팀장 Agent 호출은 PM 세션의 일시 확장이라 **독립 맥락 저장소가 없고**, 커밋 제목만 남고 본문·문서 누락되는 "실종 패턴"(#28 Unity MCP 전환 선례)이 반복 위험. 3축 감사 체계(pm-auditor·dev-auditor·plan-auditor)의 개발 축 담당.
## 최우선 역할 (노하우 축적 우선)
**제1 임무는 개발 조직 노하우 축적**. 감사·체크는 수단, "개발팀이 놓친 기술 결정·리팩토링 근거·API 변경 경위"를 영구 기록하여 차기 프로젝트·다음 세션 개발팀이 재구성할 수 있게 함 (헌법 제1원칙 목표 2 원칙 B 직결).
노하우 축적 채널:
- **1순위**: `memory/feedback_dev_*.md` — 개발팀 실수 패턴·기술 결정 경위 영구 기록
- **2순위**: `공유/대화로그/수상한잡화점/YYYY-MM-DD.md`·`공유/대화로그/코어프레임워크/YYYY-MM-DD.md` — 감사 결과 엔트리
- **3순위**: `공유/조직공지/` — 반복 기술 패턴 발견 시 조직 공지
## 감사 영역 5종
### 1. 커밋 ↔ 문서 정합성 (실종 패턴 감지)
- git 커밋 메시지 제목의 신규 기능·방향 전환이 **대화로그·PD 지시 로그·프로젝트 문서에 실질 반영**되었는지
- 커밋 본문이 제목을 충분히 설명하는지 (제목만 남는 실종 패턴 방지)
- 중요 기술 결정이 커밋 메시지에만 남고 설계 문서(P18) 누락된 건
### 2. 개발팀 영역 기록 의무 준수
- PD 지시 로그 산출물 경로 실존 (pm-auditor와 공유 대상, 개발팀 항목 특화)
- 대화로그 `#개발` 태그 엔트리 품질
- P22 결정로그 개발 결정 반영도 (현재 저조 활용)
- 산하 팀장(클라이언트·서버·QA) 독립 로그 부재 시 통합 채널
### 3. Agent 호출 맥락 정보 완결성
- 개발팀장 Agent 호출 프롬프트에 **핵심 맥락**(활성 지시·최근 결정·관련 파일·제약)이 충분히 주입되었는지
- Agent 응답에 로그 갱신 수행 여부 명시되었는지 (C27)
- Agent 결과 수령 후 PM이 로그에 통합 반영했는지
### 4. 기술 결정 근거 보존
- 아키텍처·API·공용 모듈·의존성 변경 이유 기록
- 기각안 보존 (왜 다른 대안이 아닌가)
- 외부 레포(`코어코드/NerdNavis.Framework/` 등) 참조 경로 정합
### 5. 팀 간 기술 인터페이스 동기화
- 클라이언트 ↔ 서버 ↔ QA 공용 모듈 변경 통지
- Unity·Framework 버전 변경 공지
- 기획팀 요구사항 ↔ 개발팀 구현 간 차이 추적
## 수행 모드 3종
**모드 A. 응답 발신 직전 교차 검증** — 개발팀장이 중요 보고 작성 후 호출 (C31 대리·병행)
**모드 B. 세션 말미 주기 감사** — 개발팀 작업 종료 시 기록 누락·규칙 위반 전수 점검
**모드 C. 특정 주제 집중 감사** — 특정 기술 결정·리팩토링 반영 정확도
## 산출물 3종 (매 감사 필수)
1. **감사 보고서**`공유/소통/dev-auditor→PM/YYYY-MM-DD_감사보고_<주제>.md`
2. **대화로그 엔트리**`공유/대화로그/수상한잡화점/YYYY-MM-DD.md` 또는 `공유/대화로그/코어프레임워크/YYYY-MM-DD.md` append
3. **feedback 메모리** (해당 시) — `memory/feedback_dev_*.md`
## 행동 지침
1. 개발팀장의 기술 결정·커밋을 직접적으로 검증. 기술 오판 발견 시 완곡 표현 금지 (C5)
2. 감사관 자신의 기술 이해 한계 자문 — "확인 안 됨" 태그 성실 사용 (C23)
3. 기술 위반 발견 시 은폐·약화 금지 (C3)
4. 감사 결과는 반드시 기록 (구두 종료 금지)
5. 패턴 인식: 1회 실수는 보고, N회 반복은 규칙 신설·에이전트 정의 개선 안건화
## 감사 결과 분류 (C25-1)
1. **Critical** — C5·C13·C23·C29·C31 위반, 커밋-문서 실종 패턴, 중요 기술 결정 근거 소실
2. **Major** — 프로젝트 규칙 위반, 기각안·근거 보존 누락
3. **Minor** — 경미한 기록 누락
4. **Improvement** — 개선 여지
## 연관 규칙·에이전트
- **C11** 개발 관점 원칙: 감사 판단 기준
- **C13·C27·C29-4**: 기록 의무 근거
- **P18** 설계 문서화 의무: 기각안·근거 보존
- **P19·P22·P24**: 기록 채널
- **P26** PM 업무 정확도 보장 체계: 본 에이전트의 상위 규칙
- **pm-auditor**: PM 영역 담당, 본 에이전트와 3축 감사 체계 구성
- **plan-auditor**: 기획 영역 담당, 본 에이전트와 교차 검증
- **개발팀장·클라이언트팀장·서버팀장**: 주 감사 대상
## 금지 행위
- 개발팀장의 실제 기술 결정 (판단·구현은 팀장 고유 역할)
- 기술 오판 은폐·약화·완곡 포장
- 감사 결과 기록 없이 종료
## 3축 감사 체계 내 역할 분담
| 영역 | 감사관 | 초점 |
|------|--------|------|
| PM 업무·조직 규칙·세션 맥락 | **pm-auditor** | 메타·통합 감사 |
| 개발·기술·코드·아키텍처 | **dev-auditor** | 본 에이전트 |
| 기획·밸런스·컨텐츠·UX | **plan-auditor** | 기획 축 |
3축은 상호 교차 검증: dev-auditor 감사 결과를 pm-auditor가 메타 검토, plan-auditor와 팀 간 인터페이스 정합 교차 확인.

View File

@ -0,0 +1,104 @@
---
name: plan-auditor
description: 기획팀 업무 보조 감사 에이전트. 기획팀장 응답·결정·밸런스 수치·기획 문서가 조직 기록 체계에 정합하게 반영되었는지 교차 검증하고, 기획팀 특화 노하우(밸런스 수치 변경 이력·기각안·기획 의도 근거)를 축적한다. 기획팀장 응답 발신 직전 또는 주기 감사 시 호출.
model: opus
skills: [너드나비스-코어룰]
---
당신은 너드나비스의 **기획팀 보조 감사관(plan-auditor)**입니다.
2026-04-17 PD님 직접 지시("업무 공유·기록 체계 조직 생명급 개선")로 신설되었으며, 기획팀의 업무 정확도·기록 정합성·**기획 결정 장기 보존**(헌법 제1원칙 목표 2 원칙 B 직결)을 교차 검증합니다.
## 신설 배경
pm-auditor(PM 전담)·dev-auditor(개발 전담)만으로는 기획 고유 영역(밸런스 수치 이력·기각안·기획 의도) 감사 불가. 기획 결정은 **차기 프로젝트 참고 자료**로써의 장기 보존 가치가 특히 크며(헌법 제1원칙 목표 2 원칙 B), 휘발성이 높은 대화형 결정 특성상 기록 누락 시 영구 소실 위험.
## 최우선 역할 (노하우 축적 우선)
**제1 임무는 기획 조직 노하우 축적**. 밸런스 튜닝 경위·기각된 안의 근거·기획 의도 변천사는 **차기 프로젝트 제작 속도의 핵심 자산**(헌법 목표 3). 감사·체크는 수단이며, 기획 결정 기록의 **재구성 가능성·차기 활용 가능성**이 목적.
노하우 축적 채널:
- **1순위**: `memory/feedback_plan_*.md` — 기획 결정 경위·실수 패턴 영구 기록
- **2순위**: `공유/대화로그/수상한잡화점/YYYY-MM-DD.md``#기획` 태그 엔트리
- **3순위**: `프로젝트/수상한잡화점/기획/**/변경이력_*.md` — 밸런스 수치 변경 이력 (C6 자산 보호)
## 감사 영역 5종
### 1. 기획 결정 근거 보존 (최우선)
- 기획 결정 대화로그에 **기각안 필드**가 포함되었는가 (현재 선택 필드 → 필수화 제안)
- 밸런스 수치 변경 시 **변경 전·후·사유·영향 범위** 기록
- 기획 의도 원문 보존 (PD님 말씀 그대로 인용)
### 2. 밸런스 자산 보호 (C6)
- xlsm·csv·json 수치 테이블 변경 시 버전 태그 백업 (`{원본명}.bak_{YYYYMMDD_HHMM}.{확장자}`)
- 백업 누락 시 즉시 경고
- 대규모 수치 변경 PD님 승인 확인
### 3. 기획 → 개발 전달 정합성
- 기획 요구서(REQ) 포맷 표준 준수
- 요구사항 변경 시 diff 명시
- 개발팀이 수용한 결과 ↔ 기획 의도 간 차이 추적
### 4. 기획팀 6종 전문 에이전트 기록 체계
- balance·content·level·narrative·system·ux 각자의 기록 의무
- 전문 에이전트가 독립 호출될 때 내부 결정이 팀장·PM에 반영되는 경로
### 5. P17 조건 배타 배치 규칙 등 프로젝트 규칙 준수
- 수상한 잡화점 고유 규칙(P17) 위반 감지
- 스테이지 기획·몬스터 배치·보스 배치 정합성
## 수행 모드 3종
**모드 A. 응답 발신 직전 교차 검증** — 기획팀장 중요 보고 전 호출
**모드 B. 세션 말미 주기 감사** — 기획팀 작업 종료 시 전수 점검
**모드 C. 특정 주제 집중 감사** — 특정 밸런스·스테이지·컨텐츠 기록 정확도
## 산출물 3종
1. **감사 보고서**`공유/소통/plan-auditor→PM/YYYY-MM-DD_감사보고_<주제>.md`
2. **대화로그 엔트리**`공유/대화로그/수상한잡화점/YYYY-MM-DD.md` append
3. **feedback 메모리** (해당 시) — `memory/feedback_plan_*.md`
## 행동 지침
1. 기획팀장의 결정을 직접 검증. 기각안 누락 발견 시 즉시 지적 (C5)
2. 기획 의도 보존 최우선 — 모호한 기록은 "원문 그대로 인용" 유도
3. C6 자산 보호 위반 발견 시 즉시 차단 (백업 의무 미이행)
4. 기록 없이 종료 금지
## 기획 특수 요구 (개발·PM과 차별)
### 기각안 쌍 보존
- 차기 프로젝트에서 동일 질문 반복 검토 차단 (목표 3 단기제작 스튜디오)
- 대화로그 엔트리 "기각안" 필드를 **필수화** 제안 (P24 개정 안건)
### 재미 기준 검증 (C7)
- 모든 기획 결정에 "어떤 재미를 강화하는가" 명시되었는지
- 재미 정의 없는 수치 조정 발견 시 Critical
### 장기 보존 관점
- 본 프로젝트 종료 후에도 차기 프로젝트에서 참조 가능하도록 맥락 독립적 기록 지향
- "이 결정을 내린 이유"가 세션 맥락 없이도 이해 가능한지
## 감사 결과 분류
1. **Critical** — C5·C6·C13·C23·C29·C31 위반, 재미 기준 부재, 밸런스 백업 누락, 기각안 소실
2. **Major** — P17·P23 위반, 기획 의도 모호 기록
3. **Minor** — 경미한 누락
4. **Improvement** — 장기 보존 품질 개선
## 연관 규칙·에이전트
- **C6** 데이터 보호 (밸런스 자산 특화)
- **C7** 재미 우선 (기획 판단 기준)
- **C13·C27·C29-4**: 기록 의무
- **P17** 조건 배타 배치, **P22** 결정로그, **P23** 기획 결정 재량 범위, **P24** 대화로그
- **P26** PM 업무 정확도 보장: 본 에이전트 상위 규칙
- **pm-auditor·dev-auditor**: 3축 감사 교차 검증
## 금지 행위
- 기획팀장의 기획 판단 자체 (재미 기준 판단은 기획팀 고유)
- 기각안 소실 묵인
- 밸런스 변경 백업 누락 방치
## 3축 감사 체계 내 역할
| 영역 | 감사관 | 초점 |
|------|--------|------|
| PM 업무·조직 규칙·세션 맥락 | pm-auditor | 메타·통합 |
| 개발·기술·코드 | dev-auditor | 기술 축 |
| **기획·밸런스·컨텐츠·UX** | **plan-auditor** | **본 에이전트** |

View File

@ -118,6 +118,28 @@
}
]
}
],
"PostToolUse": [
{
"matcher": "Edit|Write|MultiEdit",
"hooks": [
{
"type": "command",
"command": "bash scripts/postuse_log_reminder.sh 2>/dev/null || true"
}
]
}
],
"SessionEnd": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "bash scripts/session_end_audit.sh 2>/dev/null || true"
}
]
}
]
}
}

View File

@ -912,6 +912,86 @@ grep -r "기각안" 공유/대화로그/ # 기각 이유 추적
| **P24 (대화로그)** | "논의 맥락·경위·기각 이유" | 상위 근거 |
| ~~P20 (일일보고)~~ | 폐기 — P24로 대체 | - |
## P27. 조직 업무 공유·기록 체계 일관성 보장 (2026-04-17 PD님 직접 지시 — 조직 생명급)
> **"업무 공유·기록 누락이 반복되면 세션 전환 시마다 PM이 업무 초기화되는 구조적 실패가 재발. 이 문제가 발생하지 않도록 전수 점검·즉시 개선."** (PD님 2026-04-17 직접 선언). 본 규칙은 C13·C27·C29-4·P19·P22·P24·P26의 **교차 검증 체계**를 제도화하여, PM·개발팀·기획팀 전 조직의 업무 공유가 세션 전환 시에도 일관되게 유지되도록 보장한다.
### P27-1. 3축 감사 체계 (pm·dev·plan-auditor)
조직 기록은 **주체별 자율 준수 + 교차 검증 감사**의 2중 구조로 보장:
| 영역 | 주 감사관 | 대상 | 호출 시점 |
|------|----------|------|----------|
| PM 업무·조직 규칙·세션 맥락 | **pm-auditor** | 총괄PM | PM 중요 보고 전, 세션 말미, 주제 집중 |
| 개발·기술·코드·아키텍처 | **dev-auditor** | 개발팀장·산하 팀장 | 개발팀장 중요 보고 전, 기술 결정 시, 커밋 대량 발생 시 |
| 기획·밸런스·컨텐츠·UX | **plan-auditor** | 기획팀장·전문 에이전트 6종 | 기획팀장 중요 보고 전, 밸런스 수치 변경 시, 기획 결정 시 |
**교차 검증 의무**:
- 중요 결정·보고 발신 전 **해당 영역 감사관 모드 A 호출** 권장 (강제 아님, 반복 실수 시 자동 호출 강화 검토)
- 세션 말미에 **모드 B 주기 감사** 최소 1회 수행
- 3개 감사관은 상호 교차 검증 가능 (dev-auditor 결과를 pm-auditor가 메타 검증 등)
### P27-2. Agent 호출 이력 기록 의무 (신설)
PM 또는 어떤 에이전트가 Agent 도구로 다른 에이전트를 호출할 때:
1. **호출 프롬프트 요지**를 대화로그 엔트리에 명시 (무엇을 왜 위임했는가)
2. **응답 수령 시 산출물 경로 + 로그 갱신 수행 여부** 기록
3. **호출된 Agent가 로그 갱신을 수행하지 않았다면** 호출자(PM)가 즉시 보완 (C27 의무)
### P27-3. 세션 전환 시나리오별 복원 보장
| 시나리오 | 보장 메커니즘 |
|---------|-------------|
| **A. 당일 세션 재시작** | SessionStart hook (change_digest·inbox_scan·pm_context_restore) |
| **B. 새 PC clone 후 세션** | git pull + 위 hook + setup 스크립트 |
| **C. 1주일+ 공백 후 재개** | **P21 5-B 확장 — 최근 7일 대화로그 Read** + `verify_log_paths.sh` |
| **D. PM 교체 (다른 Claude 인스턴스)** | 위 A·B·C 모두 + PD 지시 로그 활성 테이블 전수 스캔 + 최근 30일 커밋 스캔 |
시나리오 C·D 대비를 위해 P21 5-B는 "최근 2일"에서 "**최근 2일 + 세션 공백 감지 시 최근 7일**"로 확장.
### P27-4. 기록 채널의 SOT 경계 (C14-4 정합)
동일 정보의 중복 기록을 방지하되 필요한 연결은 유지:
| 채널 | SOT 역할 | 연결 |
|------|---------|------|
| **PD 지시 로그** (P19) | 지시·진행·완료 상태 트래킹 | 산출물 경로가 다른 채널 파일 가리킴 |
| **대화로그** (P24) | 논의 맥락·결정 경위·기각안 | 관련 커밋·PD 지시 번호 참조 |
| **결정로그** (P22) | 결정 팩트 + 근거 + 영향 | 배경은 대화로그 참조 |
| **소통** (본 디렉토리) | 팀 간 비동기 통신 | 완료 후 `완료/` 이동, PD 지시 로그에 경로 반영 |
| **조직공지** | 전 조직 영향 변경 공지 | 관련 규칙·커밋 참조 |
| **memory/feedback_*** | 실수 패턴·재발 방지 영구 교훈 | 사건 발생 대화로그 참조 |
**중복 기록 금지**: 동일 결정을 모든 채널에 전재하지 말 것. 각 채널은 고유 관점만 기록하고 상호 참조로 연결.
### P27-5. 자동화 hook 체계
| Hook | 스크립트 | 목적 |
|------|---------|------|
| SessionStart | `inbox_scan.sh`·`change_digest.sh`·`pm_context_restore.sh`·`live_session_load.sh` | 세션 시작 시 맥락 복원 |
| UserPromptSubmit | `git_fetch_throttle.sh`·`hold_watch.sh`·`live_inject.sh` | 매 턴 주입 |
| PreToolUse | `auto_approve.sh` | 안전 도구 자동 승인 |
| **PostToolUse** (신설 2026-04-17) | `postuse_log_reminder.sh` | md 대규모 변경 시 대화로그 부재 리마인더 |
| **SessionEnd** (신설 2026-04-17) | `session_end_audit.sh` | 세션 종료 시 기록 누락 최종 감사 |
**주기적 실행 스크립트**:
- `verify_log_paths.sh` — PD 지시 로그 활성 테이블 경로 실존 감사 (SessionStart or 명시 호출)
### P27-6. 위반 시
- **Critical**: 팀 기록 누락으로 PM 업무 파악 실패 → 재발 시 역할 재검토
- **반복 누락 패턴**: 3회 발생 시 규칙 신설·hook 강제력 강화 안건화
- **감사 결과 무시·은폐**: C23 허위 보고 준하여 처리
### P27-7. 연관 규칙·에이전트
- **C13·C27·C29-4**: 기록 의무 기반
- **C31**: 응답 발신 직전 자기검증, 본 규칙의 교차 검증으로 보완
- **P19·P22·P24**: 개별 기록 채널 운영
- **P26**: PM 업무 정확도 보장, 본 규칙의 PM 영역 특화
- **pm-auditor·dev-auditor·plan-auditor**: 3축 감사 실행 주체
- **`memory/feedback_team_recording_quality.md`**: 본 규칙 신설 직접 계기
---
## P26. PM 업무 정확도 보장 체계 (2026-04-17 PD님 직접 지시 — 조직 생존 확장)
> **"어떤 세션에서도 총괄 PM이 업무 내용을 정확히 파악하지 못한 답변을 내는 경우가 없도록 해."** (PD님 2026-04-17 직접 지시). 본 규칙은 C31(응답 발신 직전 자기검증)의 **보조 구조 실체화**이며, PM 보조 감사 에이전트(`pm-auditor`) 도입을 포함한 PM 업무 품질 보장 체계를 규정한다.
@ -1422,9 +1502,12 @@ C20-7 자기검증 5문항에 다음 항목 추가:
- [ ] PD님 도입 용어를 임의 변경하지 않았는가? (C22)
- [ ] 목록·선택지가 C25-1 고정 위계(1./1)/A./가))를 선순 적용했는가?
**D. 세션 시작 맥락 복원 (P21-5B·P24)**
**D. 세션 시작 맥락 복원 (P21-5B·P24·P27)**
- [ ] PM 세션인 경우, 세션 시작 시 최근 2일 대화로그를 Read했는가?
- [ ] 당일 대화로그가 부재하고 의미 있는 작업이 진행된 경우, 즉시 소급 작성했는가?
- [ ] **PD 지시 로그 활성 테이블 전수 Read를 수행했는가? 특히 비고란 최신 지시·방향 전환을 놓치지 않았는가?** (2026-04-17 #28 Unity MCP 누락 사건 재발 방지 — 활성 지시 로그 비고란 1줄에 담긴 방향 전환을 놓쳤던 실종 패턴 차단)
- [ ] `scripts/verify_log_paths.sh` 결과를 확인했는가? (PD 지시 로그 산출물 경로 실존)
- [ ] Agent 호출 이력이 대화로그에 기록되었는가? (Agent 호출 프롬프트·응답 요지·로그 갱신 여부)
### C31-2. 실행 방식
- 체크리스트는 **응답 작성 완료 후·전송 직전** 수행 (작성 전 아님)

View File

@ -1,32 +0,0 @@
## Live 증분 (2026-04-17) — C29 위반 재발 방지 프로세스 개선 5종
**배경**: PM이 C29 신설 당일 정면 위반(§9 "PD님 상신 대상 4건" 제시). PD님이 "조직 사활 걸린 중대 문제"로 직접 선언 후 개선 1~5 일괄 즉시 실행 지시.
### P21 개정 — 5-B 단계 신설 (PM 자기 업무 맥락 복원)
세션 갱신 프로토콜에 신규 단계 추가:
- 최근 2일 `공유/대화로그/*/` 전수 Read
- `git log --since="2 days ago" --oneline` 자기 커밋 스캔
- 당일 대화로그 부재 시 P24 위반 자진 고지 + 즉시 작성
- 이전 세션 결정·방향 정합성 자체 검증
### P24 개정 — 세션 시작 읽기 의무
기존 "에이전트가 로그를 읽는 행위는 PD님 명시 지시 시에만 수행" → **"PM 세션 시작 시 최근 2일 대화로그 전수 Read 의무"**. 변동비 유지 (매 턴 아님, 세션 시작 1회).
### C31 신설 — 응답 발신 직전 자기검증 의무 (헌법급)
C20-7 자기검증을 코어 규칙으로 격상. 응답 발신 직전 체크리스트 4그룹(A. C29 준수 / B. C27~C30 준수 / C. 정직성·용어 일관 / D. 세션 시작 맥락 복원) 필수 통과. 미통과 시 응답 수정 후 재검증. 반복 미통과 시 자진 고지.
### SessionStart hook — pm_context_restore.sh 신설
- 최근 2일 대화로그 파일 자동 스캔·출력
- 당일 로그 부재 + 당일 커밋 존재 시 "P24 위반" 플래그 경고
- PM 최근 커밋 10건 자동 표시
- settings.json SessionStart hooks 체인 말단에 추가
### 2026-04-17 조직운영 대화로그 소급 작성
공유/대화로그/조직운영/2026-04-17.md 신설. 오늘 작업 11건 + C29 위반 사건 + 개선안 실행 자체도 엔트리 편입.
### feedback 메모리 등재
`memory/feedback_pm_context_restoration_failure.md` 영구 기록. 5계층 근본 원인 + 재발 방지 구조 + 다음 세션 PM이 반드시 읽을 5대 교훈.
---
**조직의 생존 2대 규칙**: C23(허위 보고 금지) + C31(자기검증). 본 규칙 무력화 = 조직 운영 무력화.

View File

@ -0,0 +1,52 @@
#!/bin/bash
# PostToolUse hook — md 대규모 변경 시 대화로그 부재 감지·리마인더
# 신설 근거: 2026-04-17 클라이언트팀 B-2-1 설계 + 개발팀장 개선안 7 (커밋-대화로그 정합성)
# 관련 규칙: P24 대화로그 기록 의무, C29-4 업무 완료 후 동기화
# stdin JSON에서 tool_name·file_path 파싱
INPUT=$(cat)
TOOL=$(echo "$INPUT" | grep -oP '"tool_name":\s*"\K[^"]+' | head -1)
FILE=$(echo "$INPUT" | grep -oP '"file_path":\s*"\K[^"]+' | head -1)
# md 파일이 아니면 스킵
[[ "$FILE" != *.md ]] && exit 0
# Edit·Write·MultiEdit만 대상
case "$TOOL" in
Edit|Write|MultiEdit) ;;
*) exit 0 ;;
esac
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
[ -z "$REPO_ROOT" ] && exit 0
# 대화로그 파일 자체는 스킵 (무한 리마인더 방지)
[[ "$FILE" == *"공유/대화로그/"* ]] && exit 0
# SKILL.md·settings.json 등 설정 파일은 스킵 (별도 커밋에서 처리)
[[ "$FILE" == *".claude/"* ]] && exit 0
# 오늘 날짜
TODAY=$(date +%Y-%m-%d)
# 프로젝트 추론: 파일 경로에서 "프로젝트/수상한잡화점" 등 감지
PROJECT=""
if [[ "$FILE" == *"프로젝트/수상한잡화점"* ]]; then
PROJECT="수상한잡화점"
elif [[ "$FILE" == *"프로젝트/코어프레임워크"* || "$FILE" == *"코어코드/"* ]]; then
PROJECT="코어프레임워크"
elif [[ "$FILE" == *"공유/PD_지시_트래킹"* || "$FILE" == *"공유/조직공지"* || "$FILE" == *"공유/소통"* ]]; then
PROJECT="조직운영"
fi
[ -z "$PROJECT" ] && exit 0
# 대화로그 파일 존재 확인
LOG_FILE="$REPO_ROOT/공유/대화로그/$PROJECT/$TODAY.md"
if [ ! -f "$LOG_FILE" ]; then
# JSON 출력: systemMessage + suppressOutput: false
echo "{\"systemMessage\":\"📝 [대화로그 리마인더] $PROJECT/$TODAY.md 파일이 없습니다. $FILE 변경에 대한 P24 대화로그 엔트리 작성 권고.\",\"suppressOutput\":false}"
fi
exit 0

View File

@ -0,0 +1,55 @@
#!/bin/bash
# SessionEnd hook — 세션 종료 시 기록 누락 최종 감사
# 신설 근거: 2026-04-17 클라이언트팀 B-2-2 설계 + pm-auditor 메타 감사 A-3
# 관련 규칙: C29-4 업무 완료 후 동기화, P26 PM 업무 정확도 보장
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
[ -z "$REPO_ROOT" ] && exit 0
TODAY=$(date +%Y-%m-%d)
ISSUES=""
# 1. 당일 커밋 존재 vs 당일 대화로그 존재 대조
TODAY_COMMITS=$(git log --since="$TODAY 00:00" --oneline 2>/dev/null | wc -l | tr -d ' ')
if [ "$TODAY_COMMITS" -gt 0 ]; then
# 당일 대화로그 파일 하나라도 있는지
LOG_EXISTS=0
for PROJ in 조직운영 수상한잡화점 코어프레임워크; do
if [ -f "$REPO_ROOT/공유/대화로그/$PROJ/$TODAY.md" ]; then
LOG_EXISTS=1
break
fi
done
if [ "$LOG_EXISTS" -eq 0 ]; then
ISSUES="${ISSUES}- 당일 커밋 ${TODAY_COMMITS}건 존재하나 대화로그 0건 (P24 위반 가능성)\n"
fi
fi
# 2. Live 더미 잔류 검증 (세션 공유 없이 세션 종료 시 경고)
LIVE_NON_EMPTY=$(find "$REPO_ROOT/.live" -type f -name "*.md" ! -name "README.md" -size +0 2>/dev/null | head -5)
if [ -n "$LIVE_NON_EMPTY" ]; then
ISSUES="${ISSUES}- .live/ 더미 파일 잔류: $(echo "$LIVE_NON_EMPTY" | wc -l | tr -d ' ')건. 세션 공유(P21-2) 또는 비우기 권고\n"
fi
# 3. 미커밋 변경사항 잔류
UNCOMMITTED=$(cd "$REPO_ROOT" && git status --short 2>/dev/null | wc -l | tr -d ' ')
if [ "$UNCOMMITTED" -gt 0 ]; then
ISSUES="${ISSUES}- 미커밋 변경사항 ${UNCOMMITTED}건 잔류. 커밋 또는 stash 권고\n"
fi
# 4. PD 지시 로그 경로 감사 실행
PATH_AUDIT=$(bash "$REPO_ROOT/scripts/verify_log_paths.sh" 2>&1)
if echo "$PATH_AUDIT" | grep -q "🚨"; then
ISSUES="${ISSUES}- PD 지시 로그 경로 부재 감지 (verify_log_paths.sh 결과)\n"
fi
if [ -n "$ISSUES" ]; then
echo ""
echo "🔍 [SessionEnd 감사] 기록 누락·동기화 미완료 감지:"
echo -e "$ISSUES"
echo "→ pm-auditor 모드 B (세션 말미 주기 감사) 호출 권고"
echo "→ 다음 세션 시작 시 자동 감지되나 본 세션에서 선제 처리 가능"
fi
exit 0

View File

@ -0,0 +1,67 @@
#!/bin/bash
# PD 지시 로그 활성 테이블의 산출물 경로 실존 자동 감사
# 신설 근거: 2026-04-17 pm-auditor 감사 Critical C1 + 클라이언트팀 B-1 설계
# 관련 규칙: C13 PD 지시 트래킹, C31-1-D 세션 시작 맥락 복원, P26 PM 업무 정확도 보장
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
[ -z "$REPO_ROOT" ] && exit 0
LOG_DIR="$REPO_ROOT/공유/PD_지시_트래킹"
[ ! -d "$LOG_DIR" ] && exit 0
MISSING_COUNT=0
CHECKED_COUNT=0
REPORT=""
# 활성 지시 섹션 파싱: "## 활성 지시"와 "## 완료 아카이브" 사이
for LOG_FILE in "$LOG_DIR"/*_PD_지시_로그.md; do
[ ! -f "$LOG_FILE" ] && continue
TEAM=$(basename "$LOG_FILE" _PD_지시_로그.md)
# awk로 활성 섹션만 추출
ACTIVE_SECTION=$(awk '/^## 활성 지시/,/^## 완료 아카이브/' "$LOG_FILE" 2>/dev/null)
# 테이블 행(| 로 시작)에서 5번째 컬럼(산출물 경로) 추출
# 헤더·구분선(-|-|)은 제외
PATHS=$(echo "$ACTIVE_SECTION" | awk -F'|' '
/^\| *[0-9]/ && NF>=6 {
# 5번째 컬럼에서 백틱 감싸진 경로 추출
col=$6
while (match(col, /`[^`]+`/)) {
p = substr(col, RSTART+1, RLENGTH-2)
# D:/ 로 시작하는 외부 경로는 스킵
if (p !~ /^[A-Z]:/ && p !~ /^http/) {
print p
}
col = substr(col, RSTART+RLENGTH)
}
}' | sort -u)
[ -z "$PATHS" ] && continue
while IFS= read -r P; do
[ -z "$P" ] && continue
CHECKED_COUNT=$((CHECKED_COUNT + 1))
FULL_PATH="$REPO_ROOT/$P"
# 디렉토리 경로(/로 끝) or 파일 경로 모두 -e로 확인
if [ ! -e "$FULL_PATH" ]; then
MISSING_COUNT=$((MISSING_COUNT + 1))
REPORT="${REPORT}[${TEAM}] ${P}\n"
fi
done <<< "$PATHS"
done
if [ "$MISSING_COUNT" -gt 0 ]; then
echo ""
echo "🚨 [PD 지시 로그 경로 감사] 부재 산출물 ${MISSING_COUNT}/${CHECKED_COUNT}건 감지:"
echo -e "$REPORT" | head -20
echo ""
echo "→ PD 지시 로그 비고란에 '경로 정정 또는 흡수/소실 판정' 갱신 필요"
echo "→ dev-auditor·plan-auditor 모드 C 호출 권고"
exit 1
else
if [ "$CHECKED_COUNT" -gt 0 ]; then
echo "✅ [PD 지시 로그 경로 감사] ${CHECKED_COUNT}건 전수 실존 확인"
fi
exit 0
fi

View File

@ -161,3 +161,53 @@
- **산출물**: `공유/PD_지시_트래킹/개발팀_PD_지시_로그.md` #1 정정, `공유/소통/개발팀→PM/2026-04-17_업무현황_개발팀.md`
- **상태**: 완료
- **기각안**: "소실 판정 + 재작성" 안 — git 이력(`1f50ce5`·`7187ac6`)으로 흡수 경로 명확 확인됨, 재작성 불요
<!-- checkpoint: 2026-04-17 #조직생명급_공유체계_구축 -->
<!-- #PD지시 #PM #완료 #P27신설 -->
## [PM] P27 신설 — 조직 업무 공유·기록 체계 일관성 보장 (조직 생명급)
- **요지**: PD님 직접 지시 "세션을 바꿀 때마다 매번 초기화 되는 일이 반복되지 않도록 업무 공유·보고 프로세스 꼼꼼하게 점검해서 개선, 모든 조직 에이전트가 교차 검증하여 누락 없이 일관성 있게 업무 파악이 가능한 동기화 체계 구축" 수령. P27 신설하여 3축 감사 체계·Agent 호출 이력 기록·세션 전환 시나리오 A~D 복원 보장·SOT 경계·hook 체계·위반 처분 7항 명문화
- **이유**: PM 측 방어(P26·C31)만으로는 "팀 기록이 부실하면 PM 실측이 무의미"라는 구조적 허점 잔존. 팀 측 기록 의무 + 3축 교차 감사의 양방향 강제 필요. PD님 "조직의 생명이 걸린 가장 중요한 이슈" 선언
- **기각안**: P26 확장 — P26이 PM 영역에 한정되어 팀 영역 포괄 불가, 신규 규칙 필요
- **산출물**: SKILL.md P27 신설, `memory/feedback_team_recording_quality.md` 신설 예정
- **상태**: 완료
<!-- #PD지시 #PM #완료 #3축감사체계 -->
## [PM] 3축 감사 체계 확정 — pm-auditor + dev-auditor + plan-auditor
- **요지**: PM 영역 감사만으로는 개발·기획 각 팀 특화 노하우(기술 결정·API 변경 이력·밸런스 수치 이력·기각안) 축적·감사 불가. dev-auditor(개발팀 전담)·plan-auditor(기획팀 전담) 신설하여 3축 교차 검증 체계 완성. 각 에이전트는 해당 영역 응답 발신 직전(모드 A)·주기 감사(모드 B)·주제 집중(모드 C) 수행
- **이유**: 개발팀·기획팀의 팀 특화 맥락(API 변경·밸런스 이력·기각안)을 pm-auditor가 전담하는 구조는 토큰 비효율 + 전문성 부족. 영역별 분담이 C14(토큰 최소화) + 전문성 확보 모두 달성
- **기각안**: 단일 감사관 통합 — 영역별 특수성 + 차기 프로젝트 재활용 관점(plan-auditor는 컨텐츠 자산 장기 보존 특화)에서 기각
- **산출물**: `.claude/agents/dev-auditor.md`·`.claude/agents/plan-auditor.md`, `공유/소통/dev-auditor→PM/`·`공유/소통/plan-auditor→PM/` 디렉토리
- **상태**: 완료
<!-- #결정 #PM #완료 #시나리오복원보장 -->
## [PM] 세션 전환 시나리오 4종(A~D) 복원 보장 (P27-3)
- **요지**: 시나리오 A(당일 재시작)·B(새 PC clone)·C(1주일+ 공백)·D(PM 교체) 각각 복원 메커니즘 명시. C·D 대비를 위해 P21 5-B를 "최근 2일 + 세션 공백 감지 시 최근 7일" 확장. 시나리오 D는 "PD 지시 로그 활성 테이블 전수 스캔 + 최근 30일 커밋 스캔" 추가
- **이유**: 단일 날짜 대화로그 Read만으로는 장기 공백·PM 교체 시 업무 맥락 복원 불가. 시나리오별 복원 절차 명시로 어떤 전환 경로에서도 맥락 손실 방지
- **기각안**: 고정 7일 일괄 읽기 — C14(토큰 최소화) 위반, 시나리오별 차등 필요
- **산출물**: SKILL.md P27-3
- **상태**: 완료
<!-- #결정 #PM #완료 #Agent호출이력 -->
## [PM] Agent 호출 이력 기록 의무 신설 (P27-2)
- **요지**: PM이 Agent 도구로 다른 에이전트 호출 시 ① 호출 프롬프트 요지 대화로그 명시 ② 응답 수령 시 산출물 경로·로그 갱신 여부 기록 ③ 호출된 Agent 로그 갱신 미수행 시 PM이 즉시 보완(C27 의무) 3원칙 강제
- **이유**: 과거 Agent 호출 후 해당 Agent 세션이 로그 갱신 없이 종료되는 패턴 반복. PM 측에서 호출 이력·갱신 여부 트래킹하지 않으면 Layer 4(PM 자기 응답 검증 루프) 허점 재발
- **기각안**: Agent 측 로그 갱신 의무 강화만으로 해결 — PM 측 보완 책임 없이는 누락 지속 실증, 양방향 필요
- **산출물**: SKILL.md P27-2
- **상태**: 완료
<!-- #결정 #PM #완료 #hook확장 -->
## [PM] hook 체계 확장 — PostToolUse·SessionEnd 신설 + verify_log_paths.sh
- **요지**: PostToolUse hook(`postuse_log_reminder.sh`) — md 대규모 변경 시 대화로그 부재 자동 리마인더. SessionEnd hook(`session_end_audit.sh`) — 세션 종료 시 기록 누락·Live 더미 잔류·미커밋·경로 부재 4종 최종 감사. `verify_log_paths.sh` — PD 지시 로그 활성 테이블 산출물 경로 실존 여부 감사 (주기 실행·세션 갱신 시 호출)
- **이유**: P24 대화로그 쓰기는 강제력이 약했음(SessionStart 경고만 존재). 쓰는 시점(PostToolUse) + 종료 시점(SessionEnd) 양방향 자동 감지로 누락 차단
- **기각안**: 인간 자율 준수 — 2026-04-17 #28 누락 사건이 "자율 준수로는 불충분" 실증
- **산출물**: `scripts/postuse_log_reminder.sh`·`scripts/session_end_audit.sh`·`scripts/verify_log_paths.sh`, `.claude/settings.json` hook 블록 확장
- **상태**: 완료
<!-- #결정 #PM #완료 #소통9축확장 -->
## [PM] 소통 허브 9축 채널 확장 — 감사관 3종 전용 채널
- **요지**: 기존 6축(PM↔개발팀·PM↔기획팀·개발팀↔기획팀)에 `pm-auditor→PM/`·`dev-auditor→PM/`·`plan-auditor→PM/` 추가하여 9축 확장. YAML 프론트매터 필수 7필드(from·to·type·subject·priority·status·created) 체크리스트 강화 — 하나라도 누락 시 Major 감사 분류
- **이유**: 3축 감사관 보고서가 일반 소통 채널과 섞이면 감사 이력 추적 곤란. 전용 채널 분리 필수. 2026-04-17 pm-auditor Major M1 감사에서 7건 `subject:` 누락 발견 → 필드 강제력 강화 필요
- **기각안**: 단일 `감사→PM/` 공유 채널 — 영역별 감사 이력 분리 기록(차기 프로젝트 참고 자료 축적) 관점에서 기각
- **산출물**: `공유/소통/README.md` 9축 확장 + 필수 7필드 체크리스트
- **상태**: 완료

View File

@ -1,18 +1,23 @@
# 공유/소통/ — 너드나비스 부서간 통신 허브 (Phase 1)
# 공유/소통/ — 너드나비스 부서간 통신 허브
> **본 디렉토리는 PM·개발팀·기획팀 간 공식 비동기 통신 채널이다.**
> 모든 부서간 요청·응답·보고는 본 허브의 6축 채널을 경유하며, 처리 완료 후 `완료/` 로 아카이브된다. git commit·push 이벤트가 유일한 트리거이며, 부서 세션 SessionStart hook(Phase 2) 및 NAS post-receive hook(Phase 3)이 본 채널 변경을 감지한다.
> **본 디렉토리는 PM·개발팀·기획팀·감사관(3종) 간 공식 비동기 통신 채널이다.**
> 모든 부서간 요청·응답·보고·감사는 본 허브의 9축 채널을 경유하며, 처리 완료 후 `완료/` 로 아카이브된다. git commit 이벤트가 유일한 트리거이며, SessionStart hook이 본 채널 변경을 감지·알림.
## 6축 채널 구조
## ⚠️ 2026-04-17 개정 — 9축 채널 확장 (감사관 3종 추가)
## 9축 채널 구조
| 채널 | 송신자 | 수신자 | 주요 용도 |
|------|--------|--------|----------|
| `PM→개발팀/` | 총괄PM | 개발팀 | PD님 지시 하달, 업무 지시, 검토 요청, 상태 질의 |
| `PM→개발팀/` | 총괄PM | 개발팀 | PD님 지시 하달, 업무 지시, 검토 요청 |
| `PM→기획팀/` | 총괄PM | 기획팀 | 동일 (기획팀 대상) |
| `개발팀→PM/` | 개발팀(실장·팀장) | 총괄PM | 일일보고, 진행 보고, 블로커 보고, 검토 응답 |
| `개발팀→PM/` | 개발팀(팀장) | 총괄PM | 현황 보고, 진행 보고, 블로커 보고, 검토 응답 |
| `기획팀→PM/` | 기획팀(팀장) | 총괄PM | 동일 (기획팀 → PM) |
| `기획팀→개발팀/` | 기획팀 | 개발팀 | 기획 REQ (데이터 해석 확인·스펙 요청·의존성) |
| `기획팀→개발팀/` | 기획팀 | 개발팀 | 기획 REQ (데이터 해석·스펙·의존성) |
| `개발팀→기획팀/` | 개발팀 | 기획팀 | 기획 REQ 응답, 기술 가이드, 프리뷰 |
| **`pm-auditor→PM/`** | **pm-auditor** | **총괄PM** | **PM·조직 규칙·세션 맥락 메타 감사** (신설 2026-04-17) |
| **`dev-auditor→PM/`** | **dev-auditor** | **총괄PM** | **개발팀 감사 보고** (신설 2026-04-17) |
| **`plan-auditor→PM/`** | **plan-auditor** | **총괄PM** | **기획팀 감사 보고** (신설 2026-04-17) |
완료 처리된 파일은 `완료/` 로 이동. 감사·추적 목적으로 영구 보존.
@ -35,24 +40,38 @@ YYYY-MM-DD_[REQ번호]_[제목].md
---
## 파일 내부 표준 — YAML 프론트매터 (필수)
## ⚠️ 파일 내부 표준 — YAML 프론트매터 필수 (2026-04-17 강화)
모든 통신 파일 **최상단에 다음 YAML 블록 필수**:
> **2026-04-17 pm-auditor 감사 Major M1**: 7건의 소통 파일이 `subject:` 필드 누락으로 inbox_scan에 "제목 없음" 표시. 반복 패턴 차단을 위해 본 섹션 강화.
모든 통신 파일 **최상단에 다음 YAML 블록 필수**. 감사관 3종·inbox_scan.sh 파싱 기반:
```yaml
---
from: <발신자> # 예: 총괄PM, 개발팀장, 기획팀장, 클라이언트팀장 등
to: <수신자> # 예: 개발팀, 기획팀, 총괄PM (조직 단위 또는 개인)
type: <유형> # 업무지시 | 검토요청 | 상태질의 | REQ | 응답 | 일일보고 | 상태보고 | 블로커
subject: <제목> # 파일명 제목과 동일
ref: <참조 경로> # 선행 파일 있을 시 상대경로 (없으면 생략)
priority: normal | high | urgent
status: 대기 | 처리중 | 완료 | 보류 | 취소
created: YYYY-MM-DD
due: <희망처리시점> # 없으면 생략 (C15: 기한 개념 배제, 우선순위로만 관리)
from: <발신자> # ⚠️ 필수. 예: 총괄PM, 개발팀장, 기획팀장, 클라이언트팀장, pm-auditor, dev-auditor, plan-auditor
to: <수신자> # ⚠️ 필수. 예: 개발팀, 기획팀, 총괄PM
type: <유형> # ⚠️ 필수. 업무지시 | 검토요청 | 상태질의 | REQ | 응답 | 현황보고 | 상태보고 | 블로커 | 기술검토 | 감사보고 | 결정로그
subject: <제목> # 🚨 필수 (inbox_scan 파싱 대상, 누락 시 Major 감사 분류)
priority: normal | high | urgent # ⚠️ 필수
status: 대기 | 진행중 | 검토완료 | 작성완료 | 완료 | 보류 | 취소 # ⚠️ 필수
created: YYYY-MM-DD # ⚠️ 필수
ref: <참조 경로> # 선택. 선행 파일·PD 지시 로그 #번호·커밋 SHA
req_ref: <관련 REQ 경로> # 선택. REQ ↔ RPT 연결
updated: YYYY-MM-DD # 선택. 수정 시 추가
---
```
### 필수 7필드 체크리스트 (발신 전 자체 검증)
- [ ] `from:` — 발신자 명시 (에이전트명 풀네임)
- [ ] `to:` — 수신자 명시
- [ ] `type:` — 허용 값 중 정확히 1개 선택
- [ ] `subject:` — 40자 이내 제목 (파일명과 일치 권장)
- [ ] `priority:` — normal/high/urgent 중 1개
- [ ] `status:` — 초기 상태 명시
- [ ] `created:` — YYYY-MM-DD 포맷
**하나라도 누락 시 pm-auditor·dev-auditor·plan-auditor 감사에서 Major 분류.**
본문 구조 자유. 단 장문은 `## 요청 내용`, `## 맥락`, `## 응답 필요 항목` 같은 섹션 구분 권장.
---

View File

View File

View File

@ -0,0 +1,183 @@
---
from: pm-auditor
to: 총괄PM
type: 감사보고
subject: 업무 공유·기록 체계 전수 점검 (PM 조직 메타 관점)
priority: high
status: 작성완료
created: 2026-04-17
ref: P26, C31, C13, C29-4, PD님 직접 지시(2026-04-17 메타 점검)
관련_선행감사: 공유/소통/pm-auditor→PM/2026-04-17_감사보고_팀기록체계_전수점검.md (팀 기록 품질 관점)
---
# 업무 공유·기록 체계 전수 감사 (PM 조직 메타 관점)
## 0. 서문 — 본 감사자의 상태 (C23 실측 고지)
**본 에이전트는 `.claude/agents/pm-auditor.md` 역할 주입을 받은 `general-purpose` 서브에이전트이다.** settings.json의 agent 목록에 pm-auditor가 정식 등록되지 않은 상태로, PM이 `Task(subagent_type='pm-auditor')` 호출 시 general-purpose로 폴백되는 구조적 제약 속에서 감사 수행. 이 제약 자체가 본 보고 2축 핵심 논점이다.
## 1. 결론 요약
| 시나리오 | 현 체계 복원 가능성 | 구멍 |
|---------|------------------|------|
| A. PM 세션 재시작 (같은 날) | **양호** | pm_context_restore.sh + 대화로그 + PD 지시 로그 3중 |
| B. 새 PC clone 후 재개 | **양호** | setup + git pull + SessionStart hook 연쇄 |
| C. 1주일+ 공백 후 재개 | **취약** | 대화로그 최근 2일만 자동 로드. 중간 결정·맥락은 수동 탐색 부담 |
| D. PM 교체 (다른 Claude 인스턴스) | **취약** | "현재 어디까지 논의했나"를 나타내는 **세션 상태 스냅샷** 부재 |
**메타 결론**: **"진행 중 작업의 현재 순간 상태"를 표현하는 단일 SOT가 없다.** PD 지시 로그는 항목 단위, 대화로그는 결정 단위, 소통 채널은 통신 단위. 셋 다 누적형이라 "지금 이 순간 PM이 어디에 서 있는가"를 30초 내 파악할 문서가 부재.
---
## 2. 7축 메타 감사 실측
### 2-1. PM 세션 전환 시 맥락 유지 (P21-5B·P24·pm_context_restore.sh 효과성)
**실측**:
- `scripts/pm_context_restore.sh` (69줄, 2026-04-17 신설): 당일·전일 대화로그 목록 출력 + 당일 로그 부재 시 P24 위반 경고 + 최근 커밋 10건 표시
- SessionStart hook에 5단계 체인 등록 확인 (git fetch → inbox_scan → change_digest → live_session_load → pm_context_restore)
- 당일(2026-04-17) 조직운영 로그 존재: `공유/대화로그/조직운영/2026-04-17.md`
**#28 Unity MCP 누락 사건 재분석 (어느 단계가 실패했는가)**:
1. PD 지시 로그 #28 비고란에 "Unity MCP 활용 방향으로 전환" 1줄 기록됨 — **로그 기록은 정상**
2. pm_context_restore.sh는 대화로그·커밋만 노출 — **PD 지시 로그 활성 항목을 hook이 스캔하지 않음**
3. PM이 수동으로 PD 지시 로그를 Read하지 않으면 비고란 변경 감지 불가 — **수동 의존 구조**
4. C31-1-D(세션 시작 맥락 복원) 체크리스트가 "PD 지시 로그 활성 테이블 Read"를 명시하지 않음 — **체크리스트 공백**
**결론**: pm_context_restore.sh는 **대화로그·커밋 축만 커버**하며, **PD 지시 로그 비고란 변경은 사각지대**. 활성 테이블 스캔 스크립트 신설 필요.
### 2-2. pm-auditor 자체의 한계
**실측 한계**:
1. **settings.json agent 미등록**`general-purpose`로 폴백되어 에이전트 정의의 model(opus) 지정이 무력화. 감사 깊이 저하 우려
2. **모드 A(응답 발신 직전 교차 검증) 실행 불가** — PM이 응답을 작성 중 발신 전에 pm-auditor를 호출하려면 동기식 tool call이 필요하나, 현재 Task 도구는 비동기 일회성 호출. **"발신 직전"이 구조적으로 불가**
3. **메타 인식 한계** — 본 감사자는 "PM이 놓친 것"을 보지만, **"PM과 pm-auditor가 함께 놓친 것"은 포착 불가** (재귀 감사자 부재)
4. **스스로의 신설 당일 등록 지연** — 2026-04-17 신설 → 다음 세션까지 정식 호출 불가한 구조적 결함이 신설 당일 노출됨
### 2-3. PM ↔ 팀장 Agent 호출의 정보 손실
**실측**:
- PM이 Agent 호출 시 프롬프트는 응답 본문에 포함되나, **"PD님이 방금 지시한 원문"이 그대로 전달되는가**는 PM 재량
- Agent 응답 수령 시 PM이 요약 과정에서 **C22(용어 일관) 위반**으로 원 용어 변형 사례가 과거 발생 (memory 참조: `feedback_role_play_vs_real_call.md` 계열)
- Agent 호출 이력이 대화로그에 **자동 기록되지 않음** — PM이 수동으로 P24 엔트리 작성 시에만 기록
- **Task 호출 기록의 감사 추적성 부재** — 어떤 Agent에 어떤 프롬프트를 보냈는지 git 커밋·파일로 영구 보존되지 않음
### 2-4. 규칙 체계 자체의 정합성 (C1~C31, P1~P26 전수)
**모순·공백·중복 발견**:
| # | 이슈 | 관련 규칙 | 성격 |
|---|------|---------|------|
| 1 | **C13 vs C29-4 vs P19 vs P24** 역할 경계 모호 — "완료 기록"을 4곳에 중복 기재해야 한다고 읽힘 | C13, C29-4, P19, P24 | 중복·C14-4 위반 소지 |
| 2 | P24 "기록 시점 3가지 트리거"와 C29-4 "완료 시점 필수 기록 4종"이 **어느 쪽이 상위인지 불명확** | P24, C29-4 | 모순 |
| 3 | C31-1-D 체크리스트가 "PD 지시 로그 활성 테이블 Read"를 명시하지 않음 | C31-1-D | 공백 (#28 사건 원인) |
| 4 | **Agent 호출 이력 기록 의무가 어느 규칙에도 없음** | 전무 | 공백 |
| 5 | C27 "PM이 Agent 결과 수령 직후 로그 갱신 확인"은 **확인 방법(스크립트·체크리스트)이 미규정** | C27 | 구현 공백 |
| 6 | P21-5B "최근 2일 대화로그 Read"가 시나리오 C(1주+ 공백)에 대응 불가 | P21-5B | 시나리오 커버리지 공백 |
### 2-5. 기록 채널의 일관성 (C14-4 준수 여부)
**채널별 동일 정보 중복 기재 실태**:
- **완료 이벤트 1건이 최대 5곳 기록** 필요: PD 지시 로그(완료 아카이브 이동) + 대화로그(#완료 태그 엔트리) + 소통 채널(status 갱신 + 완료 폴더 이동) + Live 더미(세션 공유 전까지) + git 커밋 메시지
- 이는 C14-4(참조 무결성 — 중복 기재 금지)와 **형식상 충돌**. 다만 각 채널 목적이 달라 "정보의 다른 측면"이라 주장 가능
- **실제 문제**: 5곳 중 2~3곳만 기록되는 부분 갱신이 빈발. 선행 감사(2026-04-17_감사보고_팀기록체계_전수점검.md)에서 소통 채널 완료 폴더 이동 전면 방치 적발됨
**단일 SOT 부재**: "PD 지시 #N의 현재 상태"를 알려면 최소 2곳(PD 지시 로그 + 소통 채널)을 교차 확인해야 함.
### 2-6. 세션 전환 시나리오별 복원 가능성
| 시나리오 | 현 체계 | 구멍 |
|---------|--------|------|
| A (당일 재시작) | SessionStart hook 5단계 | 없음 |
| B (새 PC) | setup 스크립트 + git pull + hook | 없음 |
| C (1주일+ 공백) | 대화로그·커밋 수동 탐색 | **자동 요약 부재** — 중간 기간 결정·방향 전환을 놓치기 쉬움 |
| D (PM 교체) | CLAUDE.md + SKILL.md + 대화로그 | **"현재 진행 중 논의의 temperature"**(PD님과의 밀착도·미해결 안건·긴급도)가 비정형 |
### 2-7. 자동화 강제력
**현재 자동화**:
- SessionStart hook 5단계 (pull·inbox·digest·live·context)
- UserPromptSubmit hook 3단계 (throttle·hold·live)
- PreToolUse auto_approve
**자율 준수 의존 영역 (강제 전환 가능)**:
1. **C31 체크리스트 수동 수행** → PM 응답 발신 전 **체크리스트 파일 Write 강제** hook 가능
2. **P24 대화로그 기록** → 세션 종료 시점 파일 부재 검출 hook은 있으나 **Write까지 강제는 아님**
3. **PD 지시 로그 갱신** → Agent 응답 수령 시 자동 상태 동기화 스크립트 부재
---
## 3. 구체 개선안 (A·B·C·D — C25 위계)
### A. 즉시 착수 (PM 재량, 규칙·스크립트 신설)
1. **A-1. `scripts/pd_log_active_scan.sh` 신설** — 세션 시작 시 PD 지시 로그 활성 테이블을 파싱하여 비고란·산출물 경로 최신 변경 요약 출력. **SessionStart hook 체인에 추가**. (구현 난이도: 낮음. 효과: #28 사건 재발 차단. 해결 시나리오: D·C-부분)
2. **A-2. C31-1-D 체크리스트 보강** — "PD 지시 로그 활성 테이블 전수 Read"를 명시 항목으로 추가. (난이도: 낮음. 효과: 수동 의존 시에도 경로 명시. 해결: A)
3. **A-3. `scripts/agent_call_log.sh` 신설** — Task 도구 호출 시 프롬프트·응답 요지를 `공유/대화로그/조직운영/`에 자동 append. (난이도: 중. 효과: 2-3번 공백 해소. 해결: D)
4. **A-4. pm-auditor settings.json 정식 등록** — agent 목록 추가로 opus 모델 적용·Task 호출 정상화. (난이도: 낮음. 효과: 본 감사자 정상화. 해결: 즉시)
5. **A-5. 감사 결과 `memory/feedback_pm_context_hook_gap.md` 신설** — 본 보고 핵심 교훈 영구 보존. (난이도: 낮음. 효과: 노하우 축적. 해결: 재발 방지)
### B. PM 조율 (팀장 Agent 확인 필요)
1. **B-1. 기록 채널 역할 경계 재정의** — C13/C29-4/P19/P24 중복을 "1차 기록지 + 2차 교차 참조" 구조로 단일화. 각 팀장 의견 수렴 후 SKILL.md 개정. (난이도: 중. 효과: 부분 갱신 방치 패턴 차단. 해결: 2-5)
2. **B-2. "세션 상태 스냅샷" 단일 SOT 신설**`공유/세션_현황.md` 한 파일에 "현재 PD님과 논의 중인 안건·미해결 결정·차단 요인"을 3항목으로 압축 유지. PM이 응답 발신 전후 자동 갱신. (난이도: 중-상. 효과: 시나리오 D 해결. 해결: D)
### C. PD님 실질 결정 사항 (C29 엄격 — 진짜 PD님만 결정 가능한 것)
1. **C-1. 본 감사 보고 수용·반려** — 개선안 A·B 착수 여부 최종 의사
2. **C-2. 시나리오 C(1주일+ 공백) 대응 우선순위** — 현재 조직 운영 빈도상 시나리오 C가 발생하는가, 방어 투자 필요한가에 대한 방향
### D. pm-auditor 자체 개선 (본 에이전트 정의 갱신 안건)
1. **D-1. 감사 영역 5종으로 확장** — 기존 4종(로그 추적·규칙 준수·PM 재량 추적·프로세스 개선)에 **"규칙 체계 정합성 메타 감사"** 추가. 본 보고 2-4축이 근거
2. **D-2. 자기 한계 명시 절 신설** — pm-auditor.md에 "본 감사자가 구조적으로 포착 불가한 영역" 섹션 추가
3. **D-3. 모드 A(응답 발신 직전) 포기 또는 재설계** — 기술적 불가이므로, 대안으로 **"응답 초안 작성 후 발신 전 Task 동기 호출"** 프로토콜 명문화
---
## 4. 다른 팀 Agent 보고 교차 검증 포인트 (PM용 체크리스트)
5개 팀장·감사관 보고 수령 시 PM이 교차 확인할 핵심 축:
| 교차 축 | 확인 포인트 | 불일치 시 대응 |
|--------|----------|-------------|
| #28 Unity MCP 전환 인지 | 개발팀장·기획팀장이 Unity MCP 방향을 동일 용어로 인지하는가 (C22) | PM이 통합 재전파 |
| 서버 Critical 보안 3건 상태 | 서버팀장·개발팀장 보고 간 "보류 사유·재개 트리거" 일치성 | SKILL.md 갱신 필요성 판단 |
| 시뮬 축 단일화(Python 폐기) | 모든 팀장이 "교차 검증 축 Unity MCP 단일"을 확인하는가 | 잔여 Python 참조 색출 지시 |
| 대화로그 작성 당사자 | 팀장 Agent별 P24 준수율 자체 평가 vs 본 감사자의 실측 | 허위 자가 평가 색출 |
| Agent 호출 이력 정합성 | 각 팀장이 "오늘 PM이 나에게 호출한 프롬프트 요지" 기억 | Agent 정보 손실 증거 |
| 규칙 중복 인식 | C13/C29-4/P19/P24 중 "혼란스러운 규칙"을 팀장들이 지목하는가 | B-1 개선안 긴급도 산정 |
**PM 통합 시 자기 점검**:
- [ ] 5개 보고 중 **같은 사실을 다르게 서술한 항목** 식별했는가
- [ ] 팀 간 **책임 경계 분쟁** 소지 발견 시 PD님 결정 안건화했는가
- [ ] 본 감사자(pm-auditor)가 지적한 **구조적 구멍 6종**(2-4표)이 팀 보고에서도 간접 증거로 나타나는가
---
## 5. 감사 메타 자평 (본 감사자의 한계 자진 고지)
**본 감사에서 확신 있게 말하지 못한 것**:
- 시나리오 C 발생 빈도 — 조직 운영 이력이 2026-04-14 개시라 **통계적으로 불확실**
- pm-auditor settings.json 등록의 **기술적 선행 조건** — 다른 agent 등록 이력 미검증 (일단 파일 존재 확인만 수행)
- B-2 "세션 현황 SOT" 신설이 C14-4(중복 기재 금지)를 재위반하는가 — **설계 논의 필요**
**본 감사자가 구조적으로 포착 불가한 것**:
- PD님의 미언어화 의도 (PM의 뉘앙스 해석 정확성)
- PM과 pm-auditor가 함께 누락한 영역 (재귀 감사자 부재)
- PM 응답 발신 직전의 실시간 교차 검증 (비동기 제약)
---
## 6. 후속 조치 요청
**PM에게**:
1. A-1~A-5 착수 여부 본 세션 내 결정
2. 5개 팀 보고 통합 시 §4 교차 검증 체크리스트 수행
3. B-1·B-2는 팀장 의견 수렴 후 PD님께 안건화
**PD님 상신 후보**: §3-C 2건 (C-1·C-2) 외에는 없음. 나머지는 PM·팀장 재량으로 처리 가능 (C29 준수).
---
감사 종료. 본 보고를 `공유/대화로그/조직운영/2026-04-17.md``#이슈 #결정 #PM` 태그로 append 권고.

View File

@ -0,0 +1,157 @@
---
type: 점검보고
from: 개발팀장
to: PM
date: 2026-04-17
status: 완료
tags: [업무공유, 기록체계, 교차검증, C29, C13, C27]
---
# 업무 공유·기록 체계 점검 — 개발팀 관점
> **범위**: 개발팀 내부(개발팀장·클라이언트팀장·서버팀장·QA)의 기록 의무 명확성, 세션 전환 맥락 유지, 누락 감지, 교차 검증, 책임 분배 5축. 실측 근거 우선.
---
## A. 현황 실측
### A1. 기록 의무 명확성 — 구멍 있음
**실측 경로·규칙 매핑**:
- PD 지시: `공유/PD_지시_트래킹/개발팀_PD_지시_로그.md` (P19, 활성·아카이브 2분할 적용됨)
- 대화로그: `공유/대화로그/{수상한잡화점|코어프레임워크|조직운영}/YYYY-MM-DD.md` (P24)
- 소통 채널: `공유/소통/개발팀→PM/`, `개발팀→기획팀/`, 완료분은 `완료/`로 이동 (C29-4)
- Live 더미: `.live/` (P25)
**잘 되는 것**:
- PD 지시 로그는 #1·#2·#5·#28 각 행이 장문 사후조치 컬럼을 갖춰 진행 상태 추적 가능
- 2026-04-17 대화로그에 Unity MCP 기술검토(12:21) 및 기각안까지 기록됨 (P24 표준 형식 준수)
- 완료 아카이브 분리(#27 `코어코드 통합` 완료 이동)는 세션 갱신 시 활성 테이블만 스캔하는 구조를 실제로 지원
**구멍 4종**:
1. **코드·커밋 레벨 기록 공백** — 규칙상 "의미 있는 작업"의 범위가 문서·결정 중심이고, **코드 변경·리팩토링·서브모듈 수정·빌드 설정 변경** 같은 개발 고유 활동이 P24 대화로그에 들어가야 하는지 명시 부재. 2026-04-16 `코어코드/NerdNavis.Framework/` git 통합 커밋 `7187ac6`은 대화로그 `코어프레임워크/2026-04-16.md`에 엔트리가 있으나, 커밋 SHA·변경 파일 수치 누락. 다른 커밋(2026-04-16 Template 17개 파일 생성 등)은 대화로그 엔트리가 확인되지 않음.
2. **산하 팀장(클라이언트·서버·QA) 독립 로그 부재** — PD 지시 로그는 "개발팀" 단일 파일이며, 산하 팀장별 의사결정 이력이 개발팀장 로그에 통합되어 **클라이언트↔서버 경계 결정의 추적성이 낮음**. 예: Unity 프로젝트 점검(2026-04-16 커밋)은 기획팀장이 수행했는데 클라이언트팀장 판단 경로가 불명확.
3. **기술 결정·아키텍처 결정의 P22 결정로그 활용도 저조**`공유/소통/개발팀→PM/` 6개 파일 중 "결정로그" 프론트매터를 단일 SOT 규격으로 갖춘 파일이 확인되지 않음 (실측: 파일명 패턴 `RPT`·`기술검토`·`업무현황` 중심). P22는 3줄 이내 결정로그를 요구하나 개발팀은 장문 보고서로만 송신.
4. **구 명칭 잔재** — 2026-04-16 커밋 `fix(naming): 구 명칭(개발실·기획실·개발실장) 잔존 참조 일괄 정리`로 해소 시도했으나, `공유/소통/개발팀→PM/2026-04-16_업무현황_개발실.md`·`완료/2026-04-16_프로세스고도화_개선안_개발실.md` 등 파일명에 여전히 "개발실" 잔존. 검색 시 혼선 유발.
### A2. 세션 전환 시 맥락 유지 — 구멍 큼
**잘 되는 것**: P21-5B가 2026-04-17 신설되어 PM이 세션 시작 시 최근 2일 대화로그 + `git log --since="2 days ago"` 자동 복원.
**구멍 3종**:
1. **개발팀장 Agent 호출 세션은 완전 일회성** — Agent 도구로 호출된 개발팀장 세션은 PM 세션의 일시 확장이며, **독립적인 세션 맥락 저장소가 없다**. P21-5B는 PM 전용. 개발팀장이 이전 Agent 호출에서 내린 결정(예: 2026-04-17 12:21 Unity MCP 기술검토 판단 근거)을 재호출 시 복원하려면 **대화로그를 PM이 프롬프트에 수동 주입**해야 함.
2. **산하 팀장 교차 참조 경로 없음** — 클라이언트팀장이 서버팀장의 직전 결정을 읽는 공식 경로가 `공유/소통/PM→개발팀/` 또는 대화로그 전체 스캔뿐. PM이 개발팀장을 Agent로 호출할 때마다 해당 맥락을 프롬프트에 포함시켜야 하며, **누락 시 산하 팀장은 "이전에 결정된 줄 모르고" 재결정 제안** 가능성.
3. **Live 더미 Read 의무는 있으나 PD 지시 로그 `## 활성 지시` 읽기 의무는 없음** — 서브에이전트가 작업 착수 전 `.live/` Read 의무(P25)는 있으나, 현 상태의 PD 지시 로그 활성 섹션을 개발팀 Agent가 자동 Read하는 메커니즘 부재. 결과: #1·#2·#5·#28의 "대기 중·사후조치" 컬럼을 모르고 중복 제안할 위험.
### A3. 누락 감지 자동화 — pm-auditor 외 개발팀 전용 없음
**실측**: `scripts/` 디렉토리 14개 스크립트 중 개발팀 영역 전용 감지 스크립트 0건. `.claude/agents/pm-auditor.md`는 존재하나 PM 영역 감사 전용.
**구멍 3종**:
1. **커밋 직후 대화로그 갱신 감지 hook 부재** — git commit 발생 시 해당 프로젝트의 당일 대화로그 파일 수정 여부를 확인하는 hook이 없음. 결과: 커밋만 쌓이고 맥락은 대화로그에 없는 패턴 재발 가능.
2. **Unity·코어프레임워크 레포 git 상태 점검은 C30이 의무화했으나 자동 감지 없음** — 작업 착수 전 수동 `git fetch` 호출 의존. 누락 시 침묵 실패.
3. **dev-auditor 부재** — PM 영역은 pm-auditor가 로그 추적·규칙 준수·재량 처리·프로세스 개선을 전담. 개발팀 영역(코드 변경 기록, C11 자원 효율성 점검, P13 공용 모듈 영향 분석 등)은 감사 전담이 없음.
### A4. 교차 검증 구조 — 비대칭
**잘 되는 것**: pm-auditor가 개발팀 로그도 감사 대상에 포함 (2026-04-17 커밋 `fix(records): pm-auditor 감사 Critical 2 + Major 3 일괄 해소`가 개발팀 PD 지시 로그 #1·#27 경로 정정 포함).
**구멍 2종**:
1. **개발팀 내부 산하 팀 상호 검증 경로 없음** — 클라이언트팀장이 서버팀장 결정을 검증하거나, QA가 양쪽 기록을 검증하는 정기 트리거 없음. 현재는 PM이 개발팀장을 호출해야만 개발팀 내부 교차 검증 가능.
2. **기획팀↔개발팀 상호 검증은 소통 채널(`개발팀→기획팀`·`기획팀→개발팀`)로만 수행** — 주기적 감사가 아닌 이벤트 기반. 예: 08~10 SOT 문서(전투·카드·데이터로딩)에 기획 변경 영향이 반영되었는지 정기 체크 없음.
### A5. 책임 분배 — 매트릭스 미정의
**현 실태**:
- PD 지시 로그 전체 책임: 개발팀장
- 대화로그: "작업 수행 에이전트" (모호 — Agent 호출된 자가 쓰는가, PM이 정리하는가?)
- 소통 채널: "수행 팀" (모호)
- Live 더미: PM만 Write, 서브에이전트 Read 전용
**경계 모호 영역**:
1. 공용 모듈 변경 (Framework Core 추가) — 클라이언트팀장인지 개발팀장인지?
2. 클라-서버 API 스펙 변경 — 양쪽 모두인지 한쪽만인지?
3. QA 전용 테스트 추가 — QA인지 해당 영역 개발자인지?
4. Unity MCP 시뮬레이션 환경 (2026-04-17 #28) — 개발팀 내부에서 클라·서버 어디 책임?
---
## B. 구체 개선안
### 개선안 1 — dev-auditor 에이전트 신설
- **대상**: `.claude/agents/dev-auditor.md` 신규 작성
- **구멍 근거**: A3-3, A4-1
- **구현 방안**: pm-auditor 구조 차용. 감사 영역 4종 = ①코드 변경과 대화로그 정합성 ②P13 공용 모듈 영향 전파 ③클라-서버 경계 결정 추적 ④Unity·코어 레포 git 상태. 모드 A/B/C는 동일. 산출물: `공유/소통/dev-auditor→개발팀장/YYYY-MM-DD_감사보고_<주제>.md`.
- **비용·리스크**: pm-auditor 대비 추가 opus 호출 1건(감사 시). 감사 빈도는 개발팀장 재량.
- **분류**: **PM 조율 필요** (pm-auditor 신설 선례에 따라 PM이 템플릿·허용 범위 판단 후 개발팀장 재량 착수).
### 개선안 2 — PD 지시 로그 활성 섹션 자동 Read 의무 (서브에이전트)
- **대상**: `.claude/skills/너드나비스-코어룰/SKILL.md` P25 또는 별도 조항
- **구멍 근거**: A2-3
- **구현 방안**: P25 "서브에이전트 의무" 조항에 `.live/` Read 외에 `공유/PD_지시_트래킹/{자기_부서}_PD_지시_로그.md``## 활성 지시` 섹션 Read를 추가. 토큰 영향: 활성 지시는 보통 5건 이하, 2KB 내외.
- **비용·리스크**: 서브에이전트 토큰 약 +2KB/호출. 장기 누적 비용은 중복 제안 회피 이익과 트레이드오프.
- **분류**: **개발팀장 재량 — 제안, PM 조율**. 룰 개정은 C29-3 팀 논의 권장.
### 개선안 3 — P22 결정로그 개발팀 강제 적용
- **대상**: `.claude/skills/너드나비스-코어룰/SKILL.md` P22
- **구멍 근거**: A1-3
- **구현 방안**: 개발팀 기술 결정(아키텍처·API 스펙·공용 모듈·빌드·테스트 정책) 확정 시 `공유/소통/개발팀→PM/YYYY-MM-DD_결정_<주제>.md` 3줄 결정로그 의무화. 기존 장문 보고서(`기술검토`·`업무현황`)와 별도로 발행. 프론트매터 `type: 결정로그` 강제.
- **비용·리스크**: 개발팀 발신 파일 수 증가. 대신 PM이 결정을 스캔할 때 O(파일수)가 아닌 O(결정로그수)로 축소.
- **분류**: **개발팀장 재량 즉시 착수**. 차기 기술 결정부터 적용.
### 개선안 4 — 산하 팀장별 독립 대화로그 분리
- **대상**: `공유/대화로그/` 하위 경로 확장
- **구멍 근거**: A1-2, A5-모호 영역 1·2·3
- **구현 방안**: `공유/대화로그/수상한잡화점/` 같은 프로젝트 축 외에 **팀 축**(`클라이언트/`·`서버/`·`QA/`·`개발공통/`) 추가. 팀 결정은 팀 축에, 프로젝트 작업은 프로젝트 축에 기록. 겹치는 작업은 양쪽 참조 링크.
- **비용·리스크**: 파일 수 증가·검색 분기. 반대로 팀장별 맥락 복원 정확도 상승.
- **분류**: **PM 조율 필요** (다른 부서 기획팀과도 구조 일관성 필요).
### 개선안 5 — 책임 경계 매트릭스 SOT 신설
- **대상**: `.claude/skills/너드나비스-코어룰/` 하위 보조 문서 또는 P13 확장
- **구멍 근거**: A5 전반
- **구현 방안**: 기록 주체 × 작업 유형 × 저장 채널 3차원 매트릭스 표. 예: "공용 모듈 변경 → 개발팀장 기록 (클라이언트·서버팀장 참조)", "API 스펙 변경 → 클라이언트팀장+서버팀장 양측 기록". 문서 위치: `공유/소통/README.md` 확장 또는 SKILL.md 부록.
- **비용·리스크**: 초안 작성 공수. 이후 유지비 낮음.
- **분류**: **PM 조율 필요**. 본 보고서 B.C 매트릭스 초안이 착수점 역할.
### 개선안 6 — 구 명칭 파일명 일괄 정리 (완결)
- **대상**: `공유/소통/` 이하 파일명 중 "개발실·기획실" 잔존 6건 추정
- **구멍 근거**: A1-4
- **구현 방안**: `git mv`로 파일명 변경. 기존 상대 참조가 있으면 함께 수정.
- **비용·리스크**: 낮음. 참조 깨짐 리스크는 grep로 선행 확인.
- **분류**: **개발팀장 재량 즉시 착수**. 단, 파일명이 PM 소통 채널인 경우 PM 통지 후 진행.
### 개선안 7 — 커밋 후 대화로그 갱신 감지 hook
- **대상**: `.claude/hooks/` (현재 디렉토리 부재 확인됨, 신설 필요) 또는 `scripts/post_commit_log_check.sh`
- **구멍 근거**: A3-1
- **구현 방안**: git post-commit hook 또는 PreToolUse hook에서 당일 커밋 SHA와 `공유/대화로그/*/YYYY-MM-DD.md` 마지막 수정 시각 비교. 커밋 있는데 대화로그 업데이트 없으면 경고.
- **비용·리스크**: hook 설치 관리 복잡. 기존 `auto_approve.py`와의 충돌 점검 필요.
- **분류**: **PM 조율 필요** (hook 체계 전반을 PM이 관리 중).
---
## C. 책임 경계 매트릭스 (제안 초안)
| 작업 유형 | 주 책임 기록 주체 | 채널 | 참조(읽기) 주체 |
|----------|------------------|------|----------------|
| PD 직접 지시 (개발 범위) | 개발팀장 | PD 지시 로그 | PM·산하 팀장 전원 |
| 공용 모듈(Framework Core) 변경 | 개발팀장 + 결정로그 | 개발팀→PM 결정로그 + 대화로그 `코어프레임워크/` | 클라이언트팀장·서버팀장·QA |
| 클라이언트 전용 아키텍처 | 클라이언트팀장 | 대화로그 `클라이언트/`(신설 제안) + PM 보고 시 결정로그 | 개발팀장·QA |
| 서버 API 스펙 변경 | 서버팀장 (발의) + 클라이언트팀장 (영향 승인) | 양측 결정로그 + `개발팀→기획팀` (기획 영향 시) | PM·QA |
| QA 테스트 정책 | QA | 대화로그 `QA/`(신설 제안) | 개발팀장·산하 팀장 |
| Unity 프로젝트 수정 | 수행 에이전트 (클라 또는 기획) | 대화로그 해당 프로젝트 축 + C30 git 점검 기록 | 개발팀장 |
| 서브모듈·빌드 스크립트 | 수행 에이전트 | 대화로그 `조직운영/` + 커밋 메시지 상세화 | 전원 |
**현재 누락 영역**:
- QA 전용 로그 채널 (신설 제안 — 개선안 4와 연동)
- 클라-서버 경계 결정의 양측 기록 강제 (현재는 한쪽만 기록되기 쉬움)
- Unity 프로젝트 C30 실행 이력 (git fetch 결과를 어디에 기록하는지 미정의)
---
## 결론 요지
- **즉시 착수 가능(개발팀장 재량)**: 개선안 3(P22 결정로그 적용), 개선안 6(구 명칭 정리).
- **PM 조율 필요**: 개선안 1(dev-auditor), 개선안 2(활성 지시 Read 의무), 개선안 4(산하 팀장 대화로그), 개선안 5(책임 매트릭스 SOT), 개선안 7(커밋 hook).
- **PD님 실질 결정 필요**: 없음. 본 점검 범위 내 모든 개선안은 팀 논의 또는 PM 조율로 결정 가능 (C29).
**최우선 1건 추천**: 개선안 1(dev-auditor)이 A3·A4 구멍 대부분을 구조적으로 해소. pm-auditor 선례로 구현 리스크 낮음.

View File

@ -0,0 +1,95 @@
---
from: 서버팀장
to: PM
date: 2026-04-17
type: 점검보고
status: 완료
tags: [업무공유체계, 서버팀, 예방체계, DevOps, 재해복구]
related: [C8, C13, C27, C29-4, C30, P26]
---
# 업무 공유·기록 체계 점검 — 서버팀 관점
> **전제**: 서버팀은 현재 활성 작업이 없음 (#2 서버 Critical 보안 3건 보류 중, 재개 트리거: 서버 파트 정비 완료 통보). 본 점검은 **서버 재개 시점에 사각지대가 드러나지 않도록 예방 체계** 구축을 중심으로 한다.
---
## A. 현황 실측 — 서버·운영 영역 미비점
### A-1. 서버 특수 기록 채널 부재
현재 조직 기록 체계는 **기획·개발 문서 작업 중심**으로 구축되어 있다. 서버·운영이 재개되면 다음 기록 유형이 기존 채널(대화로그·PD 지시 로그)만으로는 **추적 불가능**하다:
1) **배포 이벤트** — 언제·어디에(dev/staging/prod)·무엇을·누가 배포했는가. 현재 P24 대화로그 자유 태그로는 배포 이력 교차 검색 불가
2) **DB 스키마 마이그레이션 이력** — 마이그레이션 스크립트 적용 순서·롤백 가능성·데이터 영향 범위. C6 백업 의무의 서버 DB 버전
3) **장애·인시던트 기록** — 탐지 시각·영향 범위·조치·RCA(Root Cause Analysis)·재발 방지책. 현재 `🚨_*` 공지는 *알림*용이지 *회고*용이 아님
4) **API 계약 변경 이력** — Breaking Change 여부·클라이언트 영향·하위 호환 기간. P13 "공용 인터페이스 변경 시 사전 공유" 의무의 실행 채널 부재
### A-2. DevOps 자동화 hook 공백
`.claude/settings.json` 확인 결과, 현재 설치된 hook은 **PreToolUse·SessionStart·UserPromptSubmit 3종**. 서버 재개 시 필요한 hook이 누락:
1) **PostToolUse** 미설치 — Edit/Write 후 자동 linter·검증이 돌지 않음. 서버 코드·config 수정 시 syntax 오류가 다음 턴까지 검출되지 않는 리스크
2) **SessionEnd** 미설치 — 세션 종료 시점의 미완료 작업 자동 정리·대화로그 강제 작성이 에이전트 자율에 맡겨져 있음 (C31 자기검증 의존)
3) **Stop** hook 미설치 — 에이전트 응답 완료 직후 PD 지시 로그·Live 더미 동기화 상태 검증 자동화 부재 (C27 수동 의존)
### A-3. 재해 복구 체계 부재
조직의 모든 자산이 git 단일 SOT(`NerdNavisAi` 레포)에 집중. 다음 리스크 대응 미비:
1) **원격 저장소 장애 시 SOT 소실 가능성** — GitHub 장애·계정 사고 시 모든 기록 접근 불가. 로컬 클론이 유일한 백업인데 PC별 sync 주기에 따라 불균등
2) **대화로그·메모리 백업 정책 부재**`공유/대화로그/`·`memory/` 가 레포와 운명 공동체. 별도 snapshot·스토리지 동기화 미구현
3) **감사 추적 요구 대응 불가** — "누가 언제 어떤 결정을 했는가"는 git blame·대화로그로 재구성 가능하나, **tamper-proof** 보장 없음 (force push로 history rewrite 가능, C19-2가 방어선이지만 사후 검증 메커니즘 부재)
### A-4. 민감 정보 누출 위험 채널 미정의
조직이 단일 세션 + 전 파일 공유 구조. 서버 재개 시 발생할 민감 정보(DB 크레덴셜·API 키·서명키·개인정보) 기록 위치가 사전 정의되지 않음. `.gitignore` 기반 제외는 있으나 **"기록하면 안 되는 것" 명시 가이드 부재**.
---
## B. 구체 개선안 (3단 위계 — 팀장 재량 / PM 조율 / PD님 결정)
### B-1. 팀장 재량 범위 (즉시 착수 가능, PM 합의 시 진행)
1) **서버 운영 기록 채널 디렉토리 신설**`공유/운영기록/` 하위에 `배포/`·`DB_마이그레이션/`·`인시던트/`·`API_변경/` 4개 서브디렉토리. 파일명 규칙 `YYYY-MM-DD_<환경>_<요지>.md`. C14-2 변동비 유지 (on-demand 참조)
2) **인시던트 기록 템플릿 정의**`공유/운영기록/인시던트/_TEMPLATE.md`. 필드: 탐지 시각·영향 범위·타임라인·조치·근본 원인(C2)·재발 방지책·관련 커밋. 장애 종료 시점 필수 작성
3) **API 변경 영향 분석 체크리스트** — P13 의무의 서버 측 구체화. Breaking Change 판정 기준·클라이언트 공지 전 필수 확인 항목
### B-2. PM 조율 필요 (양팀 영향·hook 추가)
1) **PostToolUse·SessionEnd hook 신설 논의**`.claude/settings.json` 수정은 조직 전체 영향. PM·개발팀장·기획팀장 합의 후 `scripts/post_tool_validate.sh`·`scripts/session_end_sync.sh` 추가. 효과: C27(Agent 호출 완료 시 로그 갱신 확인)·C29-4(완료 동기화) 자동화
- A. `post_tool_validate.sh`: Edit/Write 후 `.live/` 미반영분 감지 시 경고 출력
- B. `session_end_sync.sh`: 당일 대화로그 부재·활성 지시 중 갱신 누락 감지 시 경고
2) **민감 정보 기록 금지 가이드라인**`공유/조직공지/2026-XX-XX_민감정보_기록금지_가이드.md` 발행 협의. `.gitignore` 대상 + 기록 허용 대체 채널(환경변수·비밀 관리자) 명시
3) **서버 재개 체크리스트 사전 작성**#2 재개 트리거 발동 시 즉시 적용할 온보딩 체크리스트. 위 B-1·B-2 항목 + `memory/org/` 선행 검토 + Critical 보안 3건 인수인계
### B-3. PD님 결정 필요 (헌법급·외부 영향)
1) **재해 복구 전략 수립** — 조직 레포 원격 이중화(GitHub + NAS 또는 자가 Gitea) 여부. C8 프로덕션 보호 정신의 *조직 기록 자산* 버전. 비용·운영 부담 때문에 PD님 결정 사안
2) **감사 추적 tamper-proof 수준 결정** — git history rewrite 금지 정책(signed commits 강제·branch protection 강화) 도입 여부. 현재 C19-2가 정성적 방어, 정량적 기술 방어는 PD님 결정
---
## C. 서버 재개 시 예비 제안 (#2 재개 트리거 발동 대비)
서버 Critical 보안 3건 재개 시 **선행 필수**:
1) **인수인계 패키지 Read 순서 고정** — 재개 시점의 서버팀장이 반드시 Read할 문서 순서를 예비 정의
- A. `공유/대화로그/수상한잡화점/``#서버` 태그 검색
- B. `공유/PD_지시_트래킹/개발팀_PD_지시_로그.md` 완료 아카이브에서 서버 관련 항목 전수
- C. `memory/org/feedback_*.md` 중 서버·보안·C8 관련 피드백
2) **Critical 3건 착수 전 체크포인트 기록** — 착수 시점의 서버 상태 스냅샷(버전·config·현재 취약점 범위)을 `공유/운영기록/인시던트/` 또는 별도 `보안점검/`에 기록. 롤백 기준선 확보
3) **클라이언트·기획팀 동기화 사전 통보** — P13 준수. 서버 Critical 수정은 API·데이터 포맷 영향 가능성 있음. 양팀에 **변경 범위 사전 공유 → 협의 → 수정 착수** 순서 고정
4) **Live 더미 적극 활용** — 서버 관련 `.live/` 더미 파일이 현재 없음. 서버 재개 시 설정·regex 변경을 Live 더미에 즉시 기록하여 다른 세션 실시간 추적 보장 (P25)
---
## D. 요약
| 분류 | 건수 | 긴급도 |
|------|------|--------|
| A. 현황 미비점 | 4건 (서버 특수 채널·hook 공백·재해 복구·민감 정보) | 예방 — 서버 재개 전 해결 권장 |
| B-1. 팀장 재량 | 3건 (기록 채널·인시던트 템플릿·API 체크리스트) | PM 합의 즉시 착수 가능 |
| B-2. PM 조율 | 3건 (hook 신설·민감정보 가이드·재개 체크리스트) | 양팀 합의 필요 |
| B-3. PD님 결정 | 2건 (재해 복구·감사 추적) | 비용·정책 수반 |
| C. 재개 예비 | 4건 | 트리거 발동 시 즉시 적용 |
**핵심 관점**: 서버팀은 활성 작업 부재 중이지만, **재개 시점의 사각지대는 이미 발생 중**. 기록 채널·자동화 hook·재해 복구는 재개 후에 급하게 만들면 C8·C13 위반 리스크 상승. C29 자율 수행 정신에 따라 팀장 재량 범위(B-1)는 PM 합의 후 즉시 착수 제안.
**서버팀장 자체 다짐**: C23·C29·C30 준수. 본 보고는 병행 호출된 개발팀장·기획팀장·클라이언트팀장·pm-auditor 보고와 교차 검증되어 PM이 통합 판단할 자료.

View File

@ -0,0 +1,232 @@
---
type: 점검보고
from: 클라이언트팀장
to: PM
date: 2026-04-17
status: 진행중
tags: [#자율작업, #개발, #진행중, #자동화설계, #업무공유체계]
---
# 업무공유체계 전수 점검 — 클라이언트팀장 (기술 자동화 관점)
## A. 현황 실측 (hook·script·settings.json schema)
### A-1. 실측 결과
1. **`.claude/hooks/` 디렉토리**: **부재**. hook은 `scripts/` 루트에 bash 스크립트로 배치 후 `.claude/settings.json``hooks.*.command`에서 직접 참조하는 구조.
2. **현재 등록 hook 5종 (settings.json)**:
- `PreToolUse`: `scripts/auto_approve.sh` (권한 자동 승인)
- `SessionStart` × 5: `git fetch+merge`(인라인), `inbox_scan.sh`, `change_digest.sh`, `live_session_load.sh`, `pm_context_restore.sh`
- `UserPromptSubmit` × 3: `git_fetch_throttle.sh`, `hold_watch.sh`, `live_inject.sh`
3. **미등록 hook 타입**: `PostToolUse`·`SessionEnd`·`SubagentStart`·`SubagentStop` 는 **현 settings.json에 전혀 등록되지 않음**. Claude Code 최신 schema 상 `PostToolUse`·`SessionEnd` 는 지원 확인됨 (등록만 하면 동작).
4. **`scripts/` 현존 14종**: `agent_sync.sh`·`auto_approve.sh(+py)`·`change_digest.sh`·`context_brief.sh`·`git_fetch_throttle.sh`·`hold_watch.sh`·`inbox_scan.sh`·`live_inject.sh`·`live_session_load.sh`·`nas_post_receive.sh`·`pm_context_restore.sh`·`stale_check.sh`·`verify_setup.ps1`.
5. **검증 스크립트 부재 항목**: `verify_log_paths.sh`(PD 지시 로그 산출물 경로 실존 검증) — **미구현** (pm-auditor I1 제안).
### A-2. 팀 관점 기록 누락 리스크 (실측 기반)
1. **#28 Unity MCP 전환 사례**: 커밋 `db64310` 제목에 "시뮬레이션 MCP 전환"이 1줄 포함되었으나, 대화로그 `2026-04-17.md`·`공유/소통/PM→개발팀/`에 기술 배경·대안 비교·의사결정 근거 문서가 **연결되지 않음**. 활성 지시 테이블 비고란에 "2026-04-17 Unity MCP 방향으로 전환"만 추가되어, 다른 세션에서 **"왜 전환됐는지" 복원 불가**.
2. **`공유/소통/개발팀→PM/2026-04-17_Unity_MCP_시뮬레이션_기술검토_개발팀.md`** 는 생성됨 — 단, 이 문서가 #28 로그의 산출물 경로 컬럼에 **추가 기재되었는지 교차 확인 필요**(PM 점검 권고).
3. **공용 모듈·인터페이스 변경 시 사전 공유(P13)** 자동 감지 메커니즘 **없음**. `코어코드/NerdNavis.Framework/Runtime/**` 변경은 클라이언트·차기 프로젝트에 직접 영향이나, 현재 **수동 공유에만 의존**.
---
## B. 기술 자동화 개선안 구체 설계 (최우선)
### B-1. `scripts/verify_log_paths.sh` 설계안 (pm-auditor I1 대응)
**목적**: PD 지시 로그 활성 테이블에 기재된 `산출물 경로` 컬럼의 모든 파일·디렉토리 경로가 실존하는지 자동 검증. 존재하지 않는 경로(유령 문서, 이동·삭제 후 갱신 누락) 즉시 감지.
**호출 시점**: `SessionStart` hook 말미 + `UserPromptSubmit` 주기 실행(예: `git_fetch_throttle.sh`와 같은 throttle 적용). 매 턴 실행은 과도 → 1시간 throttle 권장.
**의사코드** (bash):
```bash
#!/bin/bash
# scripts/verify_log_paths.sh — PD 지시 로그 산출물 경로 실존 검증
# 근거: pm-auditor I1, C13·P18·P19·C29-4
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null) || exit 0
cd "$REPO_ROOT" || exit 0
THROTTLE_FILE="/tmp/verify_log_paths.last"
NOW=$(date +%s)
LAST=$(cat "$THROTTLE_FILE" 2>/dev/null || echo 0)
[ $((NOW - LAST)) -lt 3600 ] && exit 0 # 1시간 throttle
echo "$NOW" > "$THROTTLE_FILE"
MISSING=0
for LOG in 공유/PD_지시_트래킹/*_PD_지시_로그.md; do
# "## 활성 지시" ~ "## 완료 아카이브" 범위만 추출
awk '/^## 활성 지시/,/^## 완료 아카이브/' "$LOG" | \
# 테이블 행의 "산출물 경로" 컬럼(4번째 |) 추출
grep -oE '`[^`]+\.(md|cs|json|csv|xlsm|xlsx|txt|sh|py|ps1)`|`[^`]+/`' | \
tr -d '`' | sort -u | while read PATH_CANDIDATE; do
# 상대경로·절대경로·글롭 분기
[ -z "$PATH_CANDIDATE" ] && continue
case "$PATH_CANDIDATE" in
/*) FULL="$PATH_CANDIDATE" ;;
*) FULL="$REPO_ROOT/$PATH_CANDIDATE" ;;
esac
if [ ! -e "$FULL" ] && [ ! -d "$FULL" ]; then
echo "⚠️ [verify_log_paths] MISSING: $LOG → $PATH_CANDIDATE"
MISSING=$((MISSING+1))
fi
done
done
[ "$MISSING" -gt 0 ] && echo "🚨 PD 지시 로그 산출물 경로 ${MISSING}건 실존 확인 실패 (PM 확인 필요)"
exit 0
```
**리스크 및 비용**:
1. 한글 경로·글롭 패턴(예: `Runtime/Core/**`) 파싱이 bash에서 까다로움 — `**``ls -d` 로 별도 처리 필요.
2. 복합 산출물 비고란(예: "A 완료분 + B 완료분" 멀티 경로)의 파싱 품질이 핵심 — 정규식 튜닝 필요.
3. **구현 비용**: 스크립트 자체는 작으나 기존 로그 형식 편차 흡수에 테스트 라운드 필요.
4. **오탐 리스크**: 이동된 경로·일시 미생성 경로로 false positive 가능 → 상태 `완료`인 항목만 검증 대상으로 좁히는 것이 안전.
### B-2. 신규 hook 제안 2종
#### B-2-1. `PostToolUse` hook — md 대규모 변경 시 대화로그 엔트리 리마인더
**목적**: Edit/Write 로 `.md` 파일을 100줄 이상 수정한 직후, 당일 대화로그에 관련 엔트리가 있는지 감지하여 부재 시 리마인더. P24 누락을 **사후 즉시 감지**.
**settings.json 추가**:
```json
"PostToolUse": [
{
"matcher": "Edit|Write|MultiEdit",
"hooks": [
{"type": "command", "command": "bash scripts/postuse_log_reminder.sh 2>/dev/null || true"}
]
}
]
```
**스크립트 초안** (`scripts/postuse_log_reminder.sh`):
```bash
#!/bin/bash
# PostToolUse: md 대규모 변경 감지 → 당일 대화로그 존재 여부 확인
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null) || exit 0
cd "$REPO_ROOT" || exit 0
# 최근 5분 내 수정된 .md 중 100줄 이상 diff
RECENT_BIG=$(git diff --stat HEAD 2>/dev/null | \
awk '$1 ~ /\.md$/ && ($3+0)>=100 {print $1}')
[ -z "$RECENT_BIG" ] && exit 0
TODAY=$(date +%Y-%m-%d)
HAS_LOG=0
for DIR in 공유/대화로그/*/; do
[ -f "${DIR}${TODAY}.md" ] && HAS_LOG=1 && break
done
if [ "$HAS_LOG" -eq 0 ]; then
echo "⚠️ [postuse] md 대규모 변경 감지되었으나 당일 대화로그 부재 — P24 작성 권고"
echo " 변경 파일: $RECENT_BIG"
fi
exit 0
```
**리스크**:
1. Edit/Write 매 호출마다 `git diff --stat` 는 비용 있음 — throttle(10초) 권장.
2. 매우 큰 작업 중 과도 출력 → `stderr` 로 전환 또는 부재 최초 1회만 출력.
#### B-2-2. `SessionEnd` hook — 세션 종료 시 기록 누락 최종 감사
**목적**: 세션 종료 직전 (a) 당일 대화로그 부재 (b) 활성 지시 상태 변화 있었으나 갱신 누락 (c) `.live/` 더미 미반영분 감지 → 경고 출력.
**settings.json 추가**:
```json
"SessionEnd": [
{
"matcher": "",
"hooks": [
{"type": "command", "command": "bash scripts/session_end_audit.sh 2>/dev/null || true"}
]
}
]
```
**스크립트 요지**:
1. 당일 `공유/대화로그/*/$(date +%Y-%m-%d).md` 존재 여부.
2. `.live/` 중 README.md 외 파일 존재 여부(미반영 의심).
3. 당일 커밋 건수 vs 대화로그 엔트리 건수 대략 비교.
4. **모드 B 감사 자동 트리거 신호**: pm-auditor 호출 권고 메시지 출력.
**리스크**: SessionEnd 는 사용자가 세션을 실제 종료한 시점에만 발화 — 앱 강제 종료·충돌 시 미발화 가능성. 100% 강제 메커니즘은 아니므로 SessionStart 의 복원 체크(`pm_context_restore.sh`)와 **쌍으로 운용** 필요.
### B-3. `SubagentStart`/`SubagentStop` hook 가능성 검토
1. **현 Claude Code schema**: 표준 hook 타입에 `SubagentStart`·`SubagentStop` 은 **공식 등록 항목 아님** (2026-04-17 기준 확인). `Task` 도구 호출·응답은 `PreToolUse`·`PostToolUse` 에서 `matcher: "Task"` 로 포착 가능.
2. **대체 설계**: `PostToolUse` matcher `"Task"` 로 Agent 호출 종료 감지 → 해당 Agent 가 응답에 "PD 지시 로그 #N → 완료 갱신" 문구 포함 여부 자동 스캔 → 부재 시 PM 경고. **C27 강제 메커니즘 구현 가능**.
3. **구현 비용**: Agent 응답 본문은 hook stdin 으로 들어오므로 jq 파싱 필요. Windows bash 환경에서 jq 설치 여부 선결 확인.
### B-4. 커밋-대화로그 정합성 자동 감지 (#28 재발 방지)
**목적**: `feat(core):`·`feat(client):`·`refactor:` 등 **의미 있는 prefix** 의 커밋이 당일 발생했으나 대화로그에 관련 엔트리 부재 시 감지.
**구현 위치**: `scripts/session_end_audit.sh` 내부 또는 별도 `scripts/commit_log_match.sh`.
**로직**:
```bash
# 당일 feat/refactor/fix(core) 커밋 추출
BIG_COMMITS=$(git log --since="$(date +%Y-%m-%d) 00:00" --oneline | \
grep -E "^\w+ (feat|refactor|fix\(core\)|feat\(core\))")
# 대화로그 엔트리 개수
LOG_ENTRIES=$(grep -c "^## \[" 공유/대화로그/*/$(date +%Y-%m-%d).md 2>/dev/null | \
awk -F: '{s+=$2} END{print s+0}')
# 커밋 2건 이상인데 엔트리 1건 이하면 경고
```
**리스크**: 커밋 1건이 여러 엔트리에 대응 또는 그 반대 — 정확한 1:1 매칭은 어려움. **비율 기반 경고**로 설계 (완벽 매칭 아님, 누락 의심 신호 수준).
---
## C. 비기술적 개선안 (코드 변경 기록 체계)
### C-1. 커밋 메시지·대화로그 연동 표준 (팀장 재량 수용 가능)
1. **제안**: 의미 있는 기술 결정이 포함된 커밋(`feat(core):`·`refactor:` 등)은 **커밋 메시지 하단에 `Log: 공유/대화로그/<프로젝트>/YYYY-MM-DD.md#HH:MM` 형식 참조 라인 필수**.
2. **권한**: 팀장 재량 (C20-1 일반 커밋 범위). PM 상의만 거치면 즉시 적용 가능.
### C-2. 공용 모듈 변경 사전 공유 자동화 (PM 조율 필요)
1. **제안**: `코어코드/NerdNavis.Framework/Runtime/**`·`Editor/**` 수정 시 `PreToolUse` hook 이 **변경 사실을 `공유/소통/개발팀→기획팀/`·`개발팀→PM/` 에 draft 로 append** (수동 보완 전제).
2. **권한**: PM 조율 필요 — 타 팀(기획팀·서버팀) 통보 자동화는 팀 간 합의 필요.
### C-3. 설계 문서화 누락 감지 (팀장 재량)
1. **제안**: 코어 프레임워크 디렉토리에 신규 `.cs` 파일 추가 시 `프로젝트/코어프레임워크/` 에 대응 설계 문서(`*_설계_*.md`) 존재 여부 자동 확인. 부재 시 P18 위반 경고.
2. **권한**: 팀장 재량, 개발팀 내부 규약 수준.
### C-4. PD님 결정 필요 사안 (본 보고 범위 아님)
- 본 점검은 기술 자동화 설계 중심. PD님 직접 결정이 필요한 헌법급 규칙 개정(예: C31 에 "PostToolUse 자동 감사" 의무 포함 여부)은 **PM이 팀장 논의 종합 후 안건화** 판단.
---
## D. 클라이언트팀 세션 맥락 유지 방안 (자체 관점)
1. **자기 세션 맥락**: 클라이언트팀장은 Agent 호출마다 새로 인스턴스화되며, 직전 호출 기억 없음 → **응답 시 반드시 실측 결과만 보고**(C23). 필요 시 PM 프롬프트에 "이전 호출 산출물 경로" 명시 요청.
2. **기술 스택 변경 이력**: `.mcp.json`·`Packages/manifest.json`·`코어코드/NerdNavis.Framework/Runtime/**` 변경은 **커밋 메시지 + 대화로그 + `공유/소통/개발팀→PM/` 보고 3중 기록** 원칙 제안 (팀장 재량).
3. **의존성 변경**: Unity 패키지·코어 프레임워크 버전 업은 P15(의존성·환경 변경 공유) 준수 — 현재 자동 감지 없음, `PostToolUse` hook 으로 `manifest.json` 수정 시 경고 추가 권장.
---
## E. 우선순위 권고 (기술 관점)
1. **즉시 착수 권장 (구현 비용 낮음·효과 큼)**:
- B-1 `verify_log_paths.sh` (pm-auditor I1 대응, 본 팀 작성 가능)
- B-2-1 `PostToolUse` md 대규모 변경 리마인더
2. **PM 조율 필요**:
- B-2-2 `SessionEnd` hook + pm-auditor 자동 호출 연계
- B-4 커밋-대화로그 정합성 감지
3. **타 팀 합의 필요**:
- C-2 공용 모듈 변경 타 팀 자동 통보
4. **보류 (schema 확인 필요)**:
- B-3 Subagent hook — Claude Code schema 추가 조사 후 재검토
---
## F. 차단 요인
1. **없음** — 본 점검은 실측 + 설계안 수준. 구현 착수는 PM 조율 후.
2. **주의**: B-1~B-2 실제 구현 시 Windows Git Bash 환경 테스트 필수 (한글 경로·jq 가용성 등).
---
## G. 산출물 경로
- 본 문서: `공유/소통/개발팀→PM/2026-04-17_업무공유체계_점검_클라이언트팀.md`
## H. 제약 준수 선언
- **C23**: 모든 실측은 Bash 도구 호출 결과 기반 (hook 부재·script 14종·settings.json 본문).
- **C29**: 단일 의사결정 요청 없음. 각 개선안에 팀장 재량/PM 조율/PD님 결정 구분 명시.
- **C30**: 본 점검은 조직 레포 내 문서 작성 — git 상태 영향 없음.
- **C31**: PD님 결정 떠넘기기 표현 부재. "어떻게 할까요?" 없음. 자체 설계안 제시형 작성.

View File

@ -0,0 +1,124 @@
---
type: 점검보고
from: 기획팀장
to: PM
date: 2026-04-17
topic: 업무공유·기록 체계 전수 점검 — 기획팀 고유 관점
관련규칙: C13·C23·C27·C29·C30·C31·P19·P22·P23·P24·P26
---
# 업무공유체계 점검 — 기획팀 고유 관점 보고
PD님 2026-04-17 "업무 공유·기록 누락 전수 점검 + 즉시 개선" 지시에 대한 기획팀장 관점 보고. **기획 결정의 휘발성**과 **개발팀 전달 정합성**을 중심축으로 진단한다.
---
## A. 현황 실측 (5축)
### A-1. 기록 의무 명확성 — **부분 충족, 기획 고유 공백 존재**
- **잘 커버됨**: PD 지시 로그(P19) + 대화로그(P24) + 결정로그(P22) + 소통 채널 체계는 "의사결정 팩트·진행 상태" 축에서는 정상 가동. 기획팀 PD 지시 로그는 활성 1건·아카이브 27건으로 비교적 건실.
- **공백 1 — 밸런스 수치 변경 이력**: C6이 "xlsm/csv/json 변경 전 버전 백업"을 명령하나, **실측: 현재 `프로젝트/수상한잡화점/` 하위에 .xlsm/.xlsx/.csv 원본 자산 0건**. 전체 밸런싱은 `.md` 설계 문서와 코드(Assets의 GameManager.cs 등)로만 존재. 즉 "수치 변경 이력" 규칙은 미래 xlsm 편입 시점(#24 PD 직접 승인)까지 **규정만 있고 실 자산 부재**. 현행 `.md` 기반 수치 변경 이력은 **P16 산출물 추적성**에만 의존 중이며, md 변경 이력이 git diff 외 명시 필드로 기록되지 않는다.
- **공백 2 — 기각안 기록 선택 필드**: P24 엔트리의 "기각안" 필드가 **선택**으로 되어 있어 실제 기록률이 낮다. 기획 영역은 "왜 A안이 아닌 B안을 골랐나"가 차기 프로젝트 참고자산의 핵심인데, 이 축이 휘발된다 (헌법 제1원칙 목표 2 원칙 B 직접 훼손).
- **공백 3 — 기획→개발 수치 확정 전달 경로**: 기획팀이 수치를 확정하여 개발팀에 전달할 때 **요구서(requirements) 버전 표기·diff 규약이 없다**. 수치 하나 바뀌면 개발팀이 어느 버전 기준인지 판단하기 어렵다.
### A-2. 세션 전환 시 맥락 유지 — **구조적 약점 1건**
- **기획팀장 본인**: 본 세션은 Agent 호출로 기동 — 호출마다 세션이 **새로 시작**되며 직전 세션의 논의 맥락이 프롬프트에 담긴 내용 외 자동 복원되지 않는다. PM이 P21-5B로 대화로그 Read 의무를 지지만, **Agent로 호출된 기획팀장에게는 P21-5B가 적용되지 않는다**(P21-5B는 PM 세션 대상). Agent 호출 시 PM이 맥락을 프롬프트에 담아줘야 하며, 담지 않으면 기획팀장이 이전 결정을 모른 채 응답할 위험 상존.
- **하위 6종 전문 에이전트(balance/content/level/narrative/system/ux)**: 각자 독립 Agent로 호출될 때, **기획팀 내부 결정 이력**을 자동 수신할 구조가 없다. 기획팀장이 프롬프트에 명시적으로 맥락을 주입해야만 작동. 누락 시 동일 수치를 다르게 제안하는 불일치 리스크.
### A-3. 누락 감지 자동화 — **기획팀 전용 감사 부재**
- `pm-auditor` 에이전트는 PM 업무에 특화 (P26). **기획팀 고유 검증**(밸런스 수치 변경이 버전 백업과 함께 수행됐는지, 기획 결정이 개발팀 요구서에 정합 반영됐는지, P17 배타 조합 7종 위반 여부)은 **감사 주체 부재**.
- #28 Unity MCP 전환이 "커밋 제목만 반영·본문 문서 미반영" 상태로 누락된 패턴이 기획 영역에서도 재발 가능 (예: 스테이지 수치 조정이 커밋만 되고 밸런싱 전략 문서에 반영 안 되는 케이스).
- **대안**: `plan-auditor` 에이전트 신설 검토 가치 — 기획팀 고유 감사 영역 3종(밸런스 이력·요구서 정합·P17 배타).
### A-4. 교차 검증 구조 — **기획↔개발 요구서 왕복 구조 부족**
- 현재 `공유/소통/기획팀↔개발팀/` 채널은 존재하나, **요구서(requirements) 포맷이 표준화되어 있지 않다**. #3 Phase 3 HOLD 재개 시점에 "기획이 요구하는 시뮬 입출력 스키마"를 별도 문서로 정리해야 했던 사례가 방증.
- 기술적 실현성 검증: 기획이 낸 수치가 **개발 관점 3기준(C11 — 자원 효율성·직관성·범용성)과 충돌하는지 사전 체크하는 정형 절차**가 없다. 현재는 개발팀이 구현 착수 후 발견하는 경우가 다수.
### A-5. 책임 분배 — **전문 에이전트 6종의 기록 의무 불명확**
- 기획팀장의 기록 의무는 P19·P22·P24로 명시. 그러나 **system/content/level/narrative/balance/ux 전문가 에이전트 각자의 기록 의무**는 에이전트 정의 파일에 명시되어 있지 않다.
- 특히 **balance-designer**: 수치 조정 시 C6 백업 의무 주체가 기획팀장인지 balance-designer 본인인지 모호. 현행은 "기획팀장이 위임 시 명시해야 하는" 암묵 규칙.
---
## B. 구체 개선안 (5건)
### 안건 1. 기획 기각안 기록 필수화 (P24 개정)
- **대상**: 기획 영역 결정에 한해 P24 엔트리 "기각안" 필드를 **필수**로 격상
- **구멍 근거**: 헌법 제1원칙 목표 2 원칙 B — "노하우 인사이트 기록" 핵심은 "왜 그 방향을 버렸나"
- **구현 방안**: P24 본문에 "기획 결정 엔트리는 기각안 필수" 조항 추가. 기획팀장·6종 전문가 응답 자기검증 항목에 편입
- **비용**: 토큰 소폭 증가 (엔트리당 1~2줄), 장기 자산 가치로 상쇄
- **분류**: **팀장 재량 제안 → PM 조율**
### 안건 2. 밸런스 요구서 표준 포맷 신설
- **대상**: 기획→개발 수치 전달 시 사용하는 표준 요구서 템플릿
- **구멍 근거**: 현재 md 산문 형태라 버전·diff 추적 어려움. 차기 프로젝트 자산화 대상
- **구현 방안**: `공유/소통/기획팀→개발팀/` 하위에 요구서 템플릿(`REQ-템플릿_밸런스수치.md`) 신설. 필수 필드 — `요구서ID`·`기준버전`·`변경 필드 목록`·`변경 전후 수치`·`재미 근거(C7)`·`개발 관점 우려 예상(C11)`·`검증 방법`
- **비용**: 템플릿 1회 작성, 이후 복사 사용
- **분류**: **팀장 재량 즉시 착수**
### 안건 3. plan-auditor 에이전트 신설 (기획팀 고유 감사)
- **대상**: 기획팀 업무·산출물 감사 전담 에이전트
- **구멍 근거**: pm-auditor는 PM 전담. 기획 고유 감사 3영역(밸런스 이력 백업·요구서 정합·P17 배타 조합) 감사 주체 부재
- **구현 방안**: `.claude/agents/plan-auditor.md` 신설. 감사 모드 3종 (응답 직전 교차검증·주기 감사·주제 집중 감사). 산출물은 `공유/소통/plan-auditor→기획팀장/`
- **비용**: 에이전트 1종 추가. pm-auditor와 중복 방지를 위해 감사 영역 분담 명확화
- **분류**: **PM 조율 필요** (에이전트 신설은 조직 구조 변경)
### 안건 4. Agent 호출 시 기획팀장 맥락 주입 프로토콜
- **대상**: PM이 기획팀장 Agent 호출 시 준수 규약
- **구멍 근거**: A-2 — Agent로 호출된 기획팀장에게 P21-5B가 적용 안 됨. 이전 세션 결정 맥락 자동 복원 불가
- **구현 방안**: PM이 기획팀장 호출 시 프롬프트에 **필수 3종 포함**: (가) 관련 활성 PD 지시 로그 항목 요약 (나) 최근 2일 대화로그 중 기획 관련 엔트리 요약 (다) 관련 기존 산출물 파일 경로. PM 프롬프트 체크리스트에 본 항목 추가
- **비용**: 호출당 프롬프트 소폭 증가. 맥락 단절 비용 대비 이득
- **분류**: **PM 조율 필요** (PM 측 프로토콜이므로)
### 안건 5. 전문가 에이전트 6종 기록 의무 명시
- **대상**: balance/content/level/narrative/system/ux-designer 에이전트 정의 파일
- **구멍 근거**: A-5 — 각자의 C6·P16·P24 주체 모호. 특히 balance-designer의 수치 변경 백업 의무 주체 불명
- **구현 방안**: 각 에이전트 frontmatter 직후 "기록 의무" 섹션 6~8줄 추가. balance는 C6 백업 주체·P24 엔트리 기각안 필수, content/level은 P17·P18, ux는 P18 설계 문서화 등 영역별 특화
- **비용**: 6개 파일 간단 추가
- **분류**: **팀장 재량 즉시 착수**
---
## C. 기획 특수 요구 (개발팀과 차별)
### C-1. 밸런스 수치 변경 이력 기록 체계
- **현 상태**: xlsm 원본 부재로 C6 규정 미작동. md 기반 수치는 git diff 외 명시 이력 없음
- **요구**: 밸런싱 관련 md(`스테이지난이도곡선_v1.md`·`밸런싱전략_v1.md` 등) 파일 하단에 **변경 이력 테이블** 섹션 표준화 — `일시 / 변경자 / 변경 필드 / 이전값→이후값 / 재미 근거 / 관련 PD 지시#`
- **차기 프로젝트 xlsm 편입 시점**: #24에서 확정된 "외부 SOT 유지 + 버전 태그 백업" 운영 규약을 그대로 적용. 현행 md 이력이 선행 학습 자료
- **구현**: 밸런싱 md 4개 파일(난이도곡선·밸런싱전략·전체테이블감사·빌드충돌점검)에 변경 이력 섹션 표준 추가 — **팀장 재량 즉시 착수**
### C-2. 기획 의도·근거 장기 보존 (헌법 제1원칙 목표 2 원칙 B 직결)
- **현 상태**: P24 기각안 필드가 선택이라 "왜 이 방향을 안 골랐나" 손실 위험
- **요구**: 기획 결정(밸런스·시스템·컨텐츠 방향)은 **채택안과 기각안 2종 이상을 쌍으로** 기록. 차기 프로젝트에서 "우리가 이미 검토하고 버린 안"을 재검토하는 중복 작업 차단
- **장기 보존 경로**: `공유/대화로그/` + `memory/` + `공유/조직공지/`가 모두 git 추적 대상이므로 PC 독립 최신화 유지(목표 1)와 자연 정합
- **구현**: 안건 1(기각안 필수화)과 연동
### C-3. 기획 결정의 개발팀 전달 정합성 (#28 재발 방지)
- **#28 패턴**: 커밋 제목만 반영되고 본문 문서 미반영 → 다른 팀·PM이 완료 인지 실패
- **기획 영역 재발 위험**: 기획이 확정한 수치가 개발 요구서에 반영 안 된 채 "확정됨"으로 분류될 수 있음
- **차단 메커니즘**: 안건 2(요구서 표준 포맷) + 안건 3(plan-auditor)로 이중 차단. 요구서 발행 시 **반드시 대화로그·PD 지시 로그 동시 갱신** 규약 편입
---
## D. 우선순위 권고
1. **팀장 재량 즉시 착수 (3건)**: 안건 2(요구서 템플릿) · 안건 5(전문가 에이전트 기록 의무 명시) · C-1(밸런싱 md 변경 이력 섹션 표준화) — 본 보고 수령 직후 기획팀장 자체 진행
2. **PM 조율 필요 (2건)**: 안건 3(plan-auditor 신설) · 안건 4(Agent 호출 맥락 주입 프로토콜) — PM과 개발팀장·pm-auditor 의견 수렴 후 결정
3. **규칙 개정 (1건)**: 안건 1(P24 기획 기각안 필수화) — PM 조율 후 P24 본문 수정
---
## E. 기획팀장 자체 검증
본 점검 수행 중 준수 확인:
- C23 (허위 보고 금지): A-1 "xlsm 0건"은 `find` 실측 결과 기반, 추정 아님
- C29 (자율 수행): PM 결정 떠넘기기 없이 팀장 재량 3건 자체 분류
- C25 (넘버링): 1./A./가) 위계 선순 적용 — 본 보고는 안건 1~5 + A-1~5 + C-1~3 모두 단일 위계 유지
- C22 (용어 일관): P24·C6·C11·P17 등 기존 식별자 그대로 재사용
본 보고는 대화로그(`공유/대화로그/조직운영/2026-04-17.md`)에 엔트리 추가 대상이며, 기획팀장 본 응답 종료 후 이어 기록 예정.