feat(rules): C35-9·10 신설 — hook 3층 구조 + 경고 무시 PD 보고·장기 패턴 분석
PD님 직접 지시 옵션 A 집행 + 추가 지시 2종 수용: 1. 경고 무시 사례 발견 시 PD 우선 보고 + 감사 자산 축적 2. 장기적 문제 행동 패턴 분석 + 점진적 개선 C35 최초 pm-auditor 사전 의무 호출 실증. 감사 결과 Major 3건 정정 반영 후 집행: - C35-9 제목 "pm-auditor 호출 자동 강제 hook 3층 구조" - C35-10 제목 "경고 무시 PD 우선 보고 + 장기 행동 패턴 분석 개선 사이클" - C35-9 말미 한계 재인정 단락 (PreToolUse 차단 아닌 사후 감지층) 집행 8종: - scripts/auditor_call_log.sh 신규 (PostToolUse Task) — 호출 기록 + UNRESOLVED RESOLVED 처리 - scripts/auditor_guard.sh 신규 (PostToolUse Edit|Write|Bash) — 의무 영역 30분 윈도우 검사 + UNRESOLVED·BYPASS 로그 - scripts/audit_pattern_analyzer.sh 신규 (SessionStart) — 미해소 환기 + 월 1일 자동 패턴 보고서 생성 - .claude/settings.json hook 체인 확장 (Task·Edit|Write·Bash matcher + SessionStart audit_pattern) - SKILL.md C35-9·10 신설 - CLAUDE.md C35 요약 확장 - memory/org/feedback_pm_warning_ignored_pattern.md 누적 SOT + MEMORY.md 인덱스 - feedback_c35_initial_enforcement.md (감사관 신설, Improvement 반영) 한계 재인정: hook 3층은 사후 감지·기록·경고 층위. LLM 자율 판단 구조 여전히 필수. 예상 커버리지 ~97%, 최종 3%는 PM 의식적 준수 의존. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
a9dde7aa59
commit
1553f974d6
|
|
@ -113,6 +113,10 @@
|
||||||
"type": "command",
|
"type": "command",
|
||||||
"command": "bash scripts/recent_feedback_brief.sh 2>/dev/null || true"
|
"command": "bash scripts/recent_feedback_brief.sh 2>/dev/null || true"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"command": "bash scripts/audit_pattern_analyzer.sh 2>/dev/null || true"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "command",
|
"type": "command",
|
||||||
"command": "bash scripts/verify_log_paths.sh 2>/dev/null || true"
|
"command": "bash scripts/verify_log_paths.sh 2>/dev/null || true"
|
||||||
|
|
@ -154,6 +158,28 @@
|
||||||
{
|
{
|
||||||
"type": "command",
|
"type": "command",
|
||||||
"command": "bash scripts/postuse_log_reminder.sh 2>/dev/null || true"
|
"command": "bash scripts/postuse_log_reminder.sh 2>/dev/null || true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"command": "bash scripts/auditor_guard.sh 2>/dev/null || true"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": "Bash",
|
||||||
|
"hooks": [
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"command": "bash scripts/auditor_guard.sh 2>/dev/null || true"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": "Task",
|
||||||
|
"hooks": [
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"command": "bash scripts/auditor_call_log.sh 2>/dev/null || true"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1786,6 +1786,66 @@ pm-auditor 자신의 호출 이력도 감사 대상. 특정 작업에서 **호
|
||||||
- **C34** PC 로컬 실시간 공유 중앙화 (감사관 호출 결과 축적의 인프라)
|
- **C34** PC 로컬 실시간 공유 중앙화 (감사관 호출 결과 축적의 인프라)
|
||||||
- **C33** 조직 업무 공유·기록 체계 일관성 (3축 감사의 상위 규칙)
|
- **C33** 조직 업무 공유·기록 체계 일관성 (3축 감사의 상위 규칙)
|
||||||
|
|
||||||
|
### C35-9. pm-auditor 호출 자동 강제 hook 3층 구조 (2026-04-19 PD님 직접 지시 옵션 A)
|
||||||
|
|
||||||
|
C35-7 "LLM 자율 판단 한계"의 잔여 리스크를 최대한 축소하기 위한 hook 기반 3층 메커니즘.
|
||||||
|
|
||||||
|
#### Layer 1: 사전 환기 (UserPromptSubmit·SessionStart)
|
||||||
|
- `recent_feedback_brief.sh` — 최근 7일 feedback 요지 자동 주입 (기존)
|
||||||
|
- SessionStart hook 체인 — 세션 시작 시 C35 의무 호출 대상 환기
|
||||||
|
|
||||||
|
#### Layer 2: 호출 자동 기록 (PostToolUse, matcher: `Task`)
|
||||||
|
- **`scripts/auditor_call_log.sh`** — pm-auditor Task 호출 시 `$HOME/.claude/.nerdnavis_auditor_calls/<date>.log`에 타임스탬프 기록
|
||||||
|
- **경고 무시 해소 처리 포함** — 호출 시 `$HOME/.claude/.nerdnavis_warning_ignored/<date>.log`의 기존 UNRESOLVED에 RESOLVED 마커 append
|
||||||
|
- 30분 시간 윈도우로 "최근 호출 있음" 판정
|
||||||
|
|
||||||
|
#### Layer 3: 사후 경고 (PostToolUse, matcher: `Edit|Write|MultiEdit|Bash`)
|
||||||
|
- **`scripts/auditor_guard.sh`** — Write·Edit 대상이 의무 영역(SKILL.md·memory/org/feedback_*·조직공지·PD_지시_트래킹) 또는 Bash 명령이 `git commit/push`일 때
|
||||||
|
- 최근 30분 내 pm-auditor 호출 기록 없으면 **stderr 경고 출력 + UNRESOLVED 로그 기록**
|
||||||
|
- **차단 아닌 경고** — PM 자진 정정 유도 (생산성 저해 회피)
|
||||||
|
- 우회: `NERDNAVIS_AUDITOR_BYPASS=1` + `NERDNAVIS_AUDITOR_BYPASS_REASON="사유"` (BYPASS 로그에 사유 자동 기록)
|
||||||
|
|
||||||
|
#### 한계 재인정 (본 3층 구조의 범위)
|
||||||
|
|
||||||
|
본 hook 3층은 **사후 감지·기록·경고 층위**이며 **PreToolUse 차단 방식이 아니므로**, **LLM의 C35-1 사전 호출 의무 인지는 여전히 필수**다. C35-7 "코드·hook 레벨 강제 불가 · ~90% 커버" 한계 인정과 정합하며, 본 hook은 **100% 강제가 아닌 "사후 탐지율 극대화 + 미호출 패턴 장기 축적"**을 목표로 한다. 예상 커버리지 ~97%, 최종 3%는 LLM 구조 한계 (PM이 경고 의도적 무시·BYPASS 남용 시).
|
||||||
|
|
||||||
|
### C35-10. 경고 무시 PD 우선 보고 + 장기 행동 패턴 분석 개선 사이클 (2026-04-19 PD님 직접 지시)
|
||||||
|
|
||||||
|
PD님 직접 지시 2종 이행:
|
||||||
|
1. **PM이 경고 무시한 사례 발견 시 PD님 우선 보고 + 감사 자산 축적**
|
||||||
|
2. **장기적 문제 행동 패턴 분석 + 점진적 개선**
|
||||||
|
|
||||||
|
#### 경고 무시 PD 우선 보고 메커니즘
|
||||||
|
|
||||||
|
- **`scripts/audit_pattern_analyzer.sh`** SessionStart hook 편입 — 미해소 경고 건수(UNRESOLVED − RESOLVED) 집계하여 1건 이상이면 세션 시작 시 `🚨 [C35 경고 무시 사례] 미해소 N건` PD님 환기
|
||||||
|
- **누적 SOT**: `memory/org/feedback_pm_warning_ignored_pattern.md` — 각 사례 6필드 기록 (경고 대상·무시 경위·정당성 판단·결과 영향·후속 조치·관련 로그)
|
||||||
|
- PM은 미해소 경고 review 후 pm-auditor 호출 or 사유를 SOT에 기록
|
||||||
|
|
||||||
|
#### 장기 행동 패턴 분석
|
||||||
|
|
||||||
|
- **월 1일 자동 생성** (또는 수동 `bash scripts/audit_pattern_analyzer.sh report`) — `memory/org/audit_pattern_analysis_YYYY_MM.md` 월별 보고서
|
||||||
|
- 분석 대상: pm-auditor 호출 빈도·UNRESOLVED 건수·BYPASS 우회 이력
|
||||||
|
- 보고서 스켈레톤 자동 생성, PM이 "개선 안건" 섹션 수동 기입
|
||||||
|
|
||||||
|
#### 점진적 개선 사이클
|
||||||
|
|
||||||
|
1. **분기별 review**: PM이 누적 SOT + 월별 보고서 교차 분석
|
||||||
|
2. **패턴 식별**: 특정 의무 영역·시간대·작업 유형 반복 무시 = 구조적 결함
|
||||||
|
3. **개선 안건화**: pm-auditor 감사 체크 확장·C35-1 대상 조정·hook 로직 개선
|
||||||
|
4. **PD님 보고**: 분기별 개선 안건 요약 + PM 재량 집행·PD 승인 구분
|
||||||
|
|
||||||
|
#### BYPASS 우회 사유 기록 의무 (2026-04-19 신설)
|
||||||
|
|
||||||
|
`NERDNAVIS_AUDITOR_BYPASS=1` 사용 시 **`NERDNAVIS_AUDITOR_BYPASS_REASON` 환경변수로 사유 명시 의무**. `auditor_guard.sh`가 `$HOME/.claude/.nerdnavis_bypass_log/<date>.log`에 자동 기록. 사유 미기록 시 `(사유 미기록)`으로 남겨 감사 대상으로 식별.
|
||||||
|
|
||||||
|
#### 연관 자산
|
||||||
|
|
||||||
|
- `scripts/auditor_call_log.sh`·`auditor_guard.sh`·`audit_pattern_analyzer.sh`
|
||||||
|
- `memory/org/feedback_pm_warning_ignored_pattern.md` (누적 SOT)
|
||||||
|
- `memory/org/feedback_c35_initial_enforcement.md` (C35 최초 집행 실증)
|
||||||
|
- `memory/org/audit_pattern_analysis_YYYY_MM.md` (월별 보고서)
|
||||||
|
- `$HOME/.claude/.nerdnavis_auditor_calls/` · `.nerdnavis_warning_ignored/` · `.nerdnavis_bypass_log/`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### C34-16. memory junction 특수 조항 (2026-04-19 신설)
|
### C34-16. memory junction 특수 조항 (2026-04-19 신설)
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ PD님
|
||||||
- **C30** git 동기화 프로젝트 작업 전 최신 상태 점검 / **C31** 응답 발신 직전 자기검증 의무 (헌법급)
|
- **C30** git 동기화 프로젝트 작업 전 최신 상태 점검 / **C31** 응답 발신 직전 자기검증 의무 (헌법급)
|
||||||
- **C32** 대화로그 기록 의무 (헌법급, 구 P22·P24 흡수) / **C33** 조직 업무 공유·기록 체계 일관성 보장 (헌법급, 구 P26·P27 흡수)
|
- **C32** 대화로그 기록 의무 (헌법급, 구 P22·P24 흡수) / **C33** 조직 업무 공유·기록 체계 일관성 보장 (헌법급, 구 P26·P27 흡수)
|
||||||
- 🏆 **C34** PC 로컬 실시간 공유 중앙화 체계 — Live + memory (헌법급·조직 핵심 자산, 구 P25 승격 + 2026-04-19 memory 편입, worktree 경계 무관 중앙 Junction + sync 4계층)
|
- 🏆 **C34** PC 로컬 실시간 공유 중앙화 체계 — Live + memory (헌법급·조직 핵심 자산, 구 P25 승격 + 2026-04-19 memory 편입, worktree 경계 무관 중앙 Junction + sync 4계층)
|
||||||
- **C35** pm-auditor 의무 참여 체계 (2026-04-19 신설 — 조직 내 공유 작업 7종에 감사관 사전 호출 의무, PM 단독 판단 사각지대 원천 제거)
|
- **C35** pm-auditor 의무 참여 체계 (2026-04-19 신설 — 조직 내 공유 작업 7종 사전 호출 의무 · C35-9 hook 3층 구조(사전 환기·자동 기록·사후 경고) · C35-10 경고 무시 PD 우선 보고 + 장기 패턴 분석 개선 사이클)
|
||||||
- 폐기·통합·강등·재활용 규칙 상세: [폐기 규칙 아카이브](공유/조직공지/폐기_규칙_아카이브.md)
|
- 폐기·통합·강등·재활용 규칙 상세: [폐기 규칙 아카이브](공유/조직공지/폐기_규칙_아카이브.md)
|
||||||
|
|
||||||
### 프로젝트 규칙 요약 (활성 24개, 번호 구멍 허용)
|
### 프로젝트 규칙 요약 (활성 24개, 번호 구멍 허용)
|
||||||
|
|
|
||||||
|
|
@ -33,3 +33,4 @@
|
||||||
- [백업 파일명 C6-1 표준 위반 — 관성적 답습 패턴](feedback_backup_filename_format_violation.md) — 2026-04-19 PD님 지적으로 발견. 8곳 스크립트에서 `.bak-YYYYMMDDHHMMSS` 사용, C6-1 표준 `.bak_YYYYMMDD_HHMM` 위반. 최초 위반(2026-04-18 Live junction)이 이후 모든 파생 스크립트로 연쇄 오염. "기존 코드 답습 ≠ 조직 표준 준수" 원칙 수립
|
- [백업 파일명 C6-1 표준 위반 — 관성적 답습 패턴](feedback_backup_filename_format_violation.md) — 2026-04-19 PD님 지적으로 발견. 8곳 스크립트에서 `.bak-YYYYMMDDHHMMSS` 사용, C6-1 표준 `.bak_YYYYMMDD_HHMM` 위반. 최초 위반(2026-04-18 Live junction)이 이후 모든 파생 스크립트로 연쇄 오염. "기존 코드 답습 ≠ 조직 표준 준수" 원칙 수립
|
||||||
- [안건 프레이밍 중복·이미 결정된 사안 재질문](feedback_agenda_framing_duplication.md) — 2026-04-19 PM 보고 혼선. "PM 재량"과 "PD 결정" 카테고리에 동일 안건 중복 제시 + 이전 턴 옵션 A 결정 사안 재질문. PD님 직접 지적 "같은 안건 아니야?" 수용. 방지 대책 3종(자기검증·감사관·표준 포맷) 신설
|
- [안건 프레이밍 중복·이미 결정된 사안 재질문](feedback_agenda_framing_duplication.md) — 2026-04-19 PM 보고 혼선. "PM 재량"과 "PD 결정" 카테고리에 동일 안건 중복 제시 + 이전 턴 옵션 A 결정 사안 재질문. PD님 직접 지적 "같은 안건 아니야?" 수용. 방지 대책 3종(자기검증·감사관·표준 포맷) 신설
|
||||||
- [종결 안건 자동 언급 금지 — 최신 결정 중심 보고](feedback_resolved_agenda_unnecessary_reference.md) — 2026-04-19 PD님 직접 지적. PM이 #38 예상 결과 보고에서 이미 확정된 종결 안건을 "고착·영구 종료"로 재언급. P28-8 신설 + pm-auditor 5-D로 방지. 본 세션 PM 보고 품질 문제 3연속 패턴 중 3번째
|
- [종결 안건 자동 언급 금지 — 최신 결정 중심 보고](feedback_resolved_agenda_unnecessary_reference.md) — 2026-04-19 PD님 직접 지적. PM이 #38 예상 결과 보고에서 이미 확정된 종결 안건을 "고착·영구 종료"로 재언급. P28-8 신설 + pm-auditor 5-D로 방지. 본 세션 PM 보고 품질 문제 3연속 패턴 중 3번째
|
||||||
|
- [PM C35 경고 무시 사례 누적 SOT](feedback_pm_warning_ignored_pattern.md) — 2026-04-19 PD님 지시 "경고 무시 PD 우선 보고 + 감사 자산 축적" 이행용. auditor_guard.sh UNRESOLVED 경고·BYPASS 우회가 장시간 방치·남용된 사례 6필드 기록. 분기별 review → 패턴 개선 안건화
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,69 @@
|
||||||
|
# C35 최초 적용 실증 — hook 체계 부재 상태의 PM 의식 준수
|
||||||
|
|
||||||
|
**신설일**: 2026-04-19
|
||||||
|
**기록 주체**: pm-auditor (모드 A 응답 발신 직전 교차 검증)
|
||||||
|
**위험도**: Improvement — 긍정 실증 사례 (규칙 준수 축적)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 사건 요지
|
||||||
|
|
||||||
|
2026-04-19 PM이 C35-9·C35-10 신설 집행안을 발신하기 전 **pm-auditor를 Task 도구로 실제 호출**했다. 이는 다음 이중 의미를 가진다:
|
||||||
|
|
||||||
|
1. **C35-1 "1. 규칙 개정·신설" 의무 호출 준수** — 정상 집행
|
||||||
|
2. **C35 최초 적용 실증** — 집행 대상이 C35 자체의 hook 강제 체계 신설. 즉 Layer 2·3 hook이 아직 **없는 상태**에서 사전 호출 의무를 PM이 수동으로 준수
|
||||||
|
|
||||||
|
## 2. 닭과 달걀 역설 검토
|
||||||
|
|
||||||
|
**표면적 역설**: "사전 호출 자동 강제 hook이 없는 상태에서의 사전 호출은 무엇이 보장했는가?"
|
||||||
|
|
||||||
|
**해소 논리**:
|
||||||
|
- C35-1은 **문언(규칙 본문)으로 이미 존재** — 2026-04-19 02:00 commit a9dde7a 시점에 SKILL.md C35 본문 포함
|
||||||
|
- LLM(PM)이 C35-1 문언을 **인지하고 의식적으로 준수** = C35-7 "~90% 커버 · PM 의식 의존" 실증
|
||||||
|
- hook 3층은 본 집행으로 **추가 설치** 대상 — 향후 호출 이력 자동 기록·미호출 탐지·장기 패턴 분석 인프라
|
||||||
|
- 따라서 **닭과 달걀 역설 없음**. 문언이 먼저 존재하고 hook은 후속 보강 층위
|
||||||
|
|
||||||
|
## 3. C35-7 한계 인정의 실증
|
||||||
|
|
||||||
|
C35-7 원문: "LLM 자율 판단 구조상 코드·hook 레벨에서 강제 불가. 명문화 + 자기검증 + 감사관 재귀 감사 3중 구조로 ~90% 커버하되, 100% 강제는 PM 의식적 준수에 의존."
|
||||||
|
|
||||||
|
본 사건은 이 한계 인정의 **긍정적 실증**:
|
||||||
|
- PM이 "C35-1 대상 7종 중 1번" 자기 인지
|
||||||
|
- Task 도구 실제 호출 수행
|
||||||
|
- hook 부재 상태에서도 의식적 준수 성립
|
||||||
|
|
||||||
|
**단 경고**: PM이 C35-1 문언을 **인지 실패**하는 경우 hook 부재 상태에서는 탐지 불가. 본 집행 완료 후 Layer 2·3이 활성화되어야 사후 탐지 가능. 따라서 **본 집행은 C35 완전 기능화의 임계점**.
|
||||||
|
|
||||||
|
## 4. 재발 방지·축적 가치
|
||||||
|
|
||||||
|
### 4-1. 긍정 패턴 (계승)
|
||||||
|
|
||||||
|
- 신규 코어룰 신설 시 PM이 **본인 발의 집행안에 감사관 호출** 포함 — 셀프 감사 프로세스 내재화
|
||||||
|
- PD님 직접 지시 + 현 규칙 적용 동시 발생 시 **"규칙 신설이 곧 규칙 준수 대상"** 자기 참조 구조 성립 확인
|
||||||
|
|
||||||
|
### 4-2. 경계 패턴 (차기 사례)
|
||||||
|
|
||||||
|
- 향후 C·P 규칙 신설이 **자기 참조**(본 규칙을 본 규칙이 감사)할 때 본 feedback 참조
|
||||||
|
- hook 부재 상태에서 PM이 자기검증만으로 감사를 대체하려는 시도 발견 시 **C35-1 문언 직접 호출 의무** 재확인
|
||||||
|
|
||||||
|
## 5. pm-auditor 감사 결과 종합
|
||||||
|
|
||||||
|
- **Critical 0 · Major 3 · Minor 1 · Improvement 3**
|
||||||
|
- 5-A 축소 보고 감지 PASS (Major-3 정정 조건)
|
||||||
|
- C35 최초 적용 실증으로 feedback 메모리 등재 권고 수용 → 본 파일 신설
|
||||||
|
|
||||||
|
## 6. 연관
|
||||||
|
|
||||||
|
- **C35** pm-auditor 의무 참여 체계 (본 feedback 직접 근거)
|
||||||
|
- **C35-7** 근본적 한계 인정 (본 실증의 상위 조항)
|
||||||
|
- **C29** 업무 자율 수행 (팀 논의·자율 수행 원칙과의 정합)
|
||||||
|
- **C31** 응답 발신 직전 자기검증 (F 그룹 C35 준수 문항)
|
||||||
|
- `feedback_issue_under_reporting.md` (C34/C16-1 동급 생존성 축소 보고 금지 — 본 감사 5-A 체크 근거)
|
||||||
|
- `feedback_pm_over_conservative_interpretation.md` (PM 과도 보수 4회차 변종 — 축소 해석 상위 패턴)
|
||||||
|
- 감사보고: `공유/소통/pm-auditor→PM/2026-04-19_감사보고_C35-9_10_신설.md`
|
||||||
|
|
||||||
|
## 7. 교훈
|
||||||
|
|
||||||
|
**규칙 신설 집행도 그 규칙의 준수 대상이다.** C35 신설안을 PM이 발의할 때 C35-1이 이미 유효하므로 감사관 사전 호출 의무가 적용된다. 이는 규칙 체계의 **자기 참조 완결성**을 보여주는 긍정 실증이며, 차기 규칙 신설 시에도 동일하게 적용되어야 한다.
|
||||||
|
|
||||||
|
**hook 부재 = 규칙 무력 아니다.** C35-7 "~90% 커버"의 90%는 문언 + 의식적 준수로 달성되며, hook 3층은 잔여 ~10% 탐지·기록을 위한 보강 층위다. 본 사건은 이 90% 층위의 정상 작동 증명.
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
---
|
||||||
|
name: PM C35 경고 무시 사례 누적 SOT
|
||||||
|
description: 2026-04-19 PD님 직접 지시 "경고 무시 사례 발견 시 PD 우선 보고 + 감사 자산 축적". auditor_guard.sh가 발생시킨 UNRESOLVED 경고가 pm-auditor 호출 없이 장시간 방치된 사례를 장기 누적 기록. C35-10 장기 행동 패턴 분석·개선 사이클의 입력 SOT
|
||||||
|
type: feedback
|
||||||
|
---
|
||||||
|
|
||||||
|
# PM C35 경고 무시 사례 누적 SOT
|
||||||
|
|
||||||
|
## 목적
|
||||||
|
|
||||||
|
PD님 직접 지시 2종 이행:
|
||||||
|
1. **PM이 C35 경고를 무시한 사례 발견 시 PD님 우선 보고 + 감사 자산 축적**
|
||||||
|
2. **장기적 문제 행동 패턴 분석 + 점진적 개선**
|
||||||
|
|
||||||
|
본 파일은 **장기 누적 SOT**로 운용되며, 다음 시나리오에서 PM이 자진 기록한다:
|
||||||
|
- `auditor_guard.sh`가 UNRESOLVED 경고를 발생시켰으나 pm-auditor 호출 없이 작업 완료
|
||||||
|
- PM이 `NERDNAVIS_AUDITOR_BYPASS=1` 우회를 사용한 경우 사유·정당성
|
||||||
|
- 감사관 재귀 감사(C35-6)에서 사후 적발된 누락 사례
|
||||||
|
|
||||||
|
## 기록 포맷 (필수 6필드)
|
||||||
|
|
||||||
|
각 사례는 다음 형식으로 본 파일 말미에 append:
|
||||||
|
|
||||||
|
```
|
||||||
|
### YYYY-MM-DD HH:MM — <사례 제목>
|
||||||
|
|
||||||
|
- **경고 대상**: <auditor_guard 출력 "target=..." 값>
|
||||||
|
- **무시 경위**: <PM이 호출 생략·우회한 경위>
|
||||||
|
- **정당성 판단**: <C35-3 제외 대상 해당 여부·PD 긴급 지시 여부>
|
||||||
|
- **결과 영향**: <무시로 인한 실제 문제 발생 여부>
|
||||||
|
- **후속 조치**: <pm-auditor 사후 호출·규칙 개정·재발 방지 계획>
|
||||||
|
- **관련 로그**: <$HOME/.claude/.nerdnavis_warning_ignored/*.log 경로>
|
||||||
|
```
|
||||||
|
|
||||||
|
## PD님 보고 트리거
|
||||||
|
|
||||||
|
- **세션 시작 시 미해소 경고 1건 이상** → `audit_pattern_analyzer.sh`가 SessionStart에 `🚨 [C35 경고 무시 사례] 미해소 N건` 자동 환기
|
||||||
|
- **월별 패턴 분석 보고서** → `memory/org/audit_pattern_analysis_YYYY_MM.md` 자동 생성, PM은 해당 보고서를 review하여 본 파일에 누적 기록 이전
|
||||||
|
|
||||||
|
## 점진적 개선 사이클 (C35-10)
|
||||||
|
|
||||||
|
1. **분기별 review**: PM이 본 파일·월별 보고서를 교차 분석
|
||||||
|
2. **패턴 식별**: 특정 의무 영역·시간대·작업 유형에서 무시가 반복되면 구조적 결함
|
||||||
|
3. **개선 안건화**: pm-auditor 감사 체크 확장·C35-1 대상 조정·hook 로직 개선
|
||||||
|
4. **PD님 보고**: 분기별 개선 안건 요약 + PM 재량 집행·PD 승인 구분
|
||||||
|
|
||||||
|
## 누적 사례 (append)
|
||||||
|
|
||||||
|
(신규 사례는 본 섹션 아래에 기록 시점 순으로 append)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 연관 규칙·자산
|
||||||
|
|
||||||
|
- **C35-9** hook 3층 구조 (Layer 3 auditor_guard.sh 경고·UNRESOLVED 로그)
|
||||||
|
- **C35-10** 경고 무시 PD 보고 + 장기 패턴 분석 (본 파일 직접 연계)
|
||||||
|
- **C31-F** pm-auditor 의무 호출 체크리스트
|
||||||
|
- **`scripts/audit_pattern_analyzer.sh`** — SessionStart 환기 + 월별 보고서 생성
|
||||||
|
- **`$HOME/.claude/.nerdnavis_warning_ignored/`** — UNRESOLVED·RESOLVED 원천 로그
|
||||||
|
- **`$HOME/.claude/.nerdnavis_bypass_log/`** — BYPASS 우회 사유 로그
|
||||||
|
- `feedback_issue_under_reporting.md` · `feedback_agenda_framing_duplication.md` · `feedback_resolved_agenda_unnecessary_reference.md` (본 세션 PM 보고 품질 3연속 패턴 — 구조적 모집단)
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# SessionStart hook + 수동 실행 (인자 `report`)
|
||||||
|
# C35-10 장기 행동 패턴 분석·개선 사이클
|
||||||
|
# 2026-04-19 신설 — PD님 직접 지시 "장기적 문제 행동 패턴 분석 + 점진적 개선"
|
||||||
|
|
||||||
|
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
|
||||||
|
[ -z "$REPO_ROOT" ] && exit 0
|
||||||
|
|
||||||
|
CALL_DIR="$HOME/.claude/.nerdnavis_auditor_calls"
|
||||||
|
WARN_DIR="$HOME/.claude/.nerdnavis_warning_ignored"
|
||||||
|
BYPASS_DIR="$HOME/.claude/.nerdnavis_bypass_log"
|
||||||
|
|
||||||
|
# 미해소 경고 건수 집계 (UNRESOLVED - RESOLVED)
|
||||||
|
UNRESOLVED_NET=0
|
||||||
|
if [ -d "$WARN_DIR" ]; then
|
||||||
|
for f in "$WARN_DIR"/*.log; do
|
||||||
|
[ -f "$f" ] || continue
|
||||||
|
U=$(grep -c "UNRESOLVED" "$f" 2>/dev/null || echo 0)
|
||||||
|
R=$(grep -c "RESOLVED" "$f" 2>/dev/null || echo 0)
|
||||||
|
UNRESOLVED_NET=$((UNRESOLVED_NET + U - R))
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 세션 시작 시 미해소 경고 있으면 PD님 환기 출력 (stdout — 세션 컨텍스트 주입)
|
||||||
|
if [ "$UNRESOLVED_NET" -gt 0 ]; then
|
||||||
|
echo "🚨 [C35 경고 무시 사례] 미해소 $UNRESOLVED_NET 건 — PD님 우선 보고 대상 (감사 자산 축적)"
|
||||||
|
echo " 상세: $WARN_DIR/"
|
||||||
|
echo " PM 후속 조치: 경고 대상 review + pm-auditor 호출 or 사유를 memory/org/feedback_pm_warning_ignored_pattern.md에 기록"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 월별 패턴 분석 보고서 (월 1일 자동 or 수동 `report` 인자)
|
||||||
|
MONTH=$(date +%Y_%m)
|
||||||
|
REPORT="$REPO_ROOT/memory/org/audit_pattern_analysis_${MONTH}.md"
|
||||||
|
TRIGGER="${1:-auto}"
|
||||||
|
|
||||||
|
if [ "$TRIGGER" = "report" ] || { [ "$(date +%d)" = "01" ] && [ ! -f "$REPORT" ]; }; then
|
||||||
|
{
|
||||||
|
echo "---"
|
||||||
|
echo "name: 감사 패턴 월별 분석 ${MONTH/_/-}"
|
||||||
|
echo "description: pm-auditor 호출·경고 무시·BYPASS 우회 이력 누적 분석. 장기 행동 패턴 기록 + 개선 안건 식별 (C35-10)"
|
||||||
|
echo "type: audit_pattern"
|
||||||
|
echo "period: ${MONTH/_/-}"
|
||||||
|
echo "---"
|
||||||
|
echo ""
|
||||||
|
echo "# 감사 패턴 분석 — ${MONTH/_/-}"
|
||||||
|
echo ""
|
||||||
|
echo "## pm-auditor 호출 빈도"
|
||||||
|
if [ -d "$CALL_DIR" ]; then
|
||||||
|
TOTAL_CALLS=0
|
||||||
|
for f in "$CALL_DIR"/*.log; do
|
||||||
|
[ -f "$f" ] || continue
|
||||||
|
C=$(grep -c "pm-auditor called" "$f" 2>/dev/null || echo 0)
|
||||||
|
TOTAL_CALLS=$((TOTAL_CALLS + C))
|
||||||
|
done
|
||||||
|
echo "- 누적 호출 건수: $TOTAL_CALLS"
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
echo "## 경고 무시 사례 (UNRESOLVED)"
|
||||||
|
echo "- 미해소 순수 건수: $UNRESOLVED_NET"
|
||||||
|
if [ -d "$WARN_DIR" ]; then
|
||||||
|
echo ""
|
||||||
|
echo "### 최근 UNRESOLVED 샘플 (최대 20건)"
|
||||||
|
grep "UNRESOLVED" "$WARN_DIR"/*.log 2>/dev/null | head -20
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
echo "## BYPASS 우회 이력"
|
||||||
|
if [ -d "$BYPASS_DIR" ]; then
|
||||||
|
BYPASS_COUNT=0
|
||||||
|
for f in "$BYPASS_DIR"/*.log; do
|
||||||
|
[ -f "$f" ] || continue
|
||||||
|
B=$(wc -l < "$f" 2>/dev/null || echo 0)
|
||||||
|
BYPASS_COUNT=$((BYPASS_COUNT + B))
|
||||||
|
done
|
||||||
|
echo "- 누적 우회 건수: $BYPASS_COUNT"
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
echo "## 개선 안건 (PM 수동 기입)"
|
||||||
|
echo "- (분석 로직 추가 확장 필요 — PM review 후 규칙 개정·감사 체크 강화 안건화)"
|
||||||
|
echo ""
|
||||||
|
echo "## 연관"
|
||||||
|
echo "- C35-9 hook 3층 구조 · C35-10 경고 무시 PD 보고·장기 패턴 분석"
|
||||||
|
echo "- \`memory/org/feedback_pm_warning_ignored_pattern.md\` (누적 SOT)"
|
||||||
|
} > "$REPORT"
|
||||||
|
echo "📊 [감사 패턴] 월별 분석 보고서 생성: $REPORT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# PostToolUse hook (matcher: Task) — pm-auditor Task 호출 자동 기록
|
||||||
|
# C35-9 Layer 2: 감사관 호출 이력 자동 축적 + 경고 무시 사례 해소 처리
|
||||||
|
# 2026-04-19 신설 — PD님 직접 지시 "경고 무시 사례 발견 시 PD 우선 보고 + 감사 자산 축적"
|
||||||
|
# 관련: C35-9 hook 3층 구조 · C35-10 경고 무시 PD 보고 + 장기 패턴 분석
|
||||||
|
|
||||||
|
INPUT=$(cat 2>/dev/null)
|
||||||
|
|
||||||
|
# subagent_type이 pm-auditor인 경우만 기록
|
||||||
|
if ! echo "$INPUT" | grep -q '"subagent_type"[[:space:]]*:[[:space:]]*"pm-auditor"'; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
LOG_DIR="$HOME/.claude/.nerdnavis_auditor_calls"
|
||||||
|
mkdir -p "$LOG_DIR" 2>/dev/null
|
||||||
|
|
||||||
|
# 일자별 로그 파일에 호출 시각 기록
|
||||||
|
LOG_FILE="$LOG_DIR/$(date +%Y-%m-%d).log"
|
||||||
|
echo "$(date +%Y-%m-%d_%H:%M:%S) pm-auditor called" >> "$LOG_FILE"
|
||||||
|
|
||||||
|
# 경고 무시 사례 해소 처리 — 기존 UNRESOLVED 로그에 RESOLVED 마커 append
|
||||||
|
WARNING_DIR="$HOME/.claude/.nerdnavis_warning_ignored"
|
||||||
|
if [ -d "$WARNING_DIR" ]; then
|
||||||
|
for wf in "$WARNING_DIR"/*.log; do
|
||||||
|
[ -f "$wf" ] || continue
|
||||||
|
# 해당 파일에 UNRESOLVED 있고 아직 RESOLVED 미완료이면 해소 처리
|
||||||
|
if grep -q "UNRESOLVED" "$wf" 2>/dev/null && ! tail -1 "$wf" | grep -q "RESOLVED"; then
|
||||||
|
echo "$(date +%Y-%m-%d_%H:%M:%S) RESOLVED by pm-auditor call" >> "$wf"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# PostToolUse hook (matcher: Edit|Write|MultiEdit|Bash) — 의무 영역 tool_use 시 호출 기록 검사
|
||||||
|
# C35-9 Layer 3: 의무 호출 누락 즉시 경고 + 무시 사례 UNRESOLVED 로그
|
||||||
|
# 2026-04-19 신설 — PD님 직접 지시 옵션 A (경고 모드)
|
||||||
|
# 관련: C35 의무 참여 체계 · C35-10 무시 사례 PD 보고 · C34-11 Agent 경계 보호
|
||||||
|
|
||||||
|
# 우회 환경변수 (C35-3 "PD 긴급 단발 지시" 준용)
|
||||||
|
if [ "${NERDNAVIS_AUDITOR_BYPASS:-0}" = "1" ]; then
|
||||||
|
# C35-10 Improvement: 우회 사유 기록 (환경변수 NERDNAVIS_AUDITOR_BYPASS_REASON)
|
||||||
|
BYPASS_DIR="$HOME/.claude/.nerdnavis_bypass_log"
|
||||||
|
mkdir -p "$BYPASS_DIR" 2>/dev/null
|
||||||
|
BYPASS_LOG="$BYPASS_DIR/$(date +%Y-%m-%d).log"
|
||||||
|
REASON="${NERDNAVIS_AUDITOR_BYPASS_REASON:-(사유 미기록)}"
|
||||||
|
echo "$(date +%Y-%m-%d_%H:%M:%S) BYPASS reason=$REASON" >> "$BYPASS_LOG"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
INPUT=$(cat 2>/dev/null)
|
||||||
|
|
||||||
|
# 의무 영역 식별
|
||||||
|
TARGET=""
|
||||||
|
if echo "$INPUT" | grep -qE '"file_path"[[:space:]]*:[[:space:]]*"[^"]*(SKILL\.md|memory/org/feedback|조직공지|PD_지시_트래킹)[^"]*"'; then
|
||||||
|
TARGET="의무 영역 파일 수정"
|
||||||
|
elif echo "$INPUT" | grep -qE '"command"[[:space:]]*:[[:space:]]*"[^"]*git[[:space:]]+(commit|push)'; then
|
||||||
|
TARGET="git commit/push"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -z "$TARGET" ] && exit 0
|
||||||
|
|
||||||
|
# 최근 30분 내 pm-auditor 호출 기록 검사
|
||||||
|
LOG_DIR="$HOME/.claude/.nerdnavis_auditor_calls"
|
||||||
|
RECENT_CALL=0
|
||||||
|
if [ -d "$LOG_DIR" ]; then
|
||||||
|
if find "$LOG_DIR" -type f -mmin -30 2>/dev/null | head -1 | grep -q .; then
|
||||||
|
RECENT_CALL=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ "$RECENT_CALL" -eq 1 ] && exit 0
|
||||||
|
|
||||||
|
# 경고 출력 (stderr)
|
||||||
|
echo "⚠️ [C35 경고] $TARGET — 최근 30분 내 pm-auditor 호출 기록 없음" >&2
|
||||||
|
echo " C35-1 의무 호출 대상일 수 있음. 응답 발신 전 pm-auditor Task 호출 권장" >&2
|
||||||
|
echo " 긴급 단발 지시면 export NERDNAVIS_AUDITOR_BYPASS=1 + NERDNAVIS_AUDITOR_BYPASS_REASON='사유' (C35-3·C35-10)" >&2
|
||||||
|
|
||||||
|
# UNRESOLVED 로그 기록 (이후 pm-auditor 호출되면 auditor_call_log.sh가 RESOLVED 마커 append)
|
||||||
|
WARNING_DIR="$HOME/.claude/.nerdnavis_warning_ignored"
|
||||||
|
mkdir -p "$WARNING_DIR" 2>/dev/null
|
||||||
|
WARNING_LOG="$WARNING_DIR/$(date +%Y-%m-%d).log"
|
||||||
|
echo "$(date +%Y-%m-%d_%H:%M:%S) UNRESOLVED target=$TARGET" >> "$WARNING_LOG"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -91,6 +91,7 @@ C3·C13 위반에 해당. **즉시 자진 보고 후 소급 등록**.
|
||||||
|
|
||||||
| # | 일시 | 지시 요지 | 처리 상태 | 산출물 경로 | 중단 사유 | 사후 조치 |
|
| # | 일시 | 지시 요지 | 처리 상태 | 산출물 경로 | 중단 사유 | 사후 조치 |
|
||||||
|---|------|----------|----------|-----------|----------|----------|
|
|---|------|----------|----------|-----------|----------|----------|
|
||||||
|
| 44 | 2026-04-19 | (PD님 직접 지시 옵션 A) **C35-9 hook 3층 구조 + C35-10 경고 무시 PD 보고·장기 패턴 분석 집행** — 잔여 리스크 해결 방안 옵션 A 승인 + "경고 무시 사례 PD 우선 보고 + 감사 자산 축적" + "장기 행동 패턴 분석·점진적 개선" 지시 수용 | **완료** | **[완료: 2026-04-19 02:30 · commit: (본 8차 commit) · 참조: `공유/대화로그/조직운영/2026-04-19.md` "C35-9·10 신설" 엔트리 + pm-auditor 감사 보고서]** (집행 8종) `scripts/auditor_call_log.sh`·`auditor_guard.sh`·`audit_pattern_analyzer.sh` 3종 신규 · `.claude/settings.json` PostToolUse Task·Edit|Write·Bash matcher + SessionStart audit_pattern_analyzer 편입 · SKILL.md **C35-9 신설** (hook 3층 + 한계 재인정) + **C35-10 신설** (경고 무시 PD 보고 + BYPASS 사유 기록 + 분기별 개선 사이클) · CLAUDE.md C35 요약 확장 · `memory/org/feedback_pm_warning_ignored_pattern.md` 누적 SOT 신설 + MEMORY.md 인덱스 · `memory/org/feedback_c35_initial_enforcement.md` (pm-auditor 감사 수행 실증) · `공유/소통/pm-auditor→PM/2026-04-19_감사보고_C35-9_10_신설.md` 감사 결과 + Major 3건 반영 완료 | - | C35 최초 pm-auditor 사전 의무 호출 실증 사례. Major 3건 정정 반영(C35-9·10 제목 + 한계 재인정 단락). Improvement 2건은 C35-10에 편입(BYPASS 사유 기록) · 1건 후속 안건 |
|
||||||
| 43 | 2026-04-19 | (PD님 직접 지시) **C35 pm-auditor 의무 참여 체계 신설 + feedback 본문 능동 Read 강제 장치** — 남은 약점 2종 보완. PD님 "pm-auditor는 PM 명시 호출에만 작동하지 말고 조직 내 공유 필요 시 의무 참여·구체 맥락 능동 Read 개선" 수용 | **완료** | **[완료: 2026-04-19 02:00 · commit: (본 7차 commit) · 참조: `공유/대화로그/조직운영/2026-04-19.md` "C35 신설" 엔트리]** (보정 5종) SKILL.md **C35 신설 8하위 조항** (의무 호출 대상 7종·제외 4종·호출 방식·위반 시·재귀 감사·근본적 한계 인정·연관 규칙) · C31 체크리스트 **F·G 그룹 신설** (C35 의무 호출 + feedback 본문 선행 Read) · `pm-auditor.md` 의무 참여 체계 섹션 신설 · `CLAUDE.md` C35 요약 + 활성 규칙 29→30 · `scripts/recent_feedback_brief.sh` 확장 (본문 Read 안내) | - | 본 세션 PM 보고 품질 3연속 문제(이슈 축소·안건 중복·종결 언급) 구조적 재발 방지 3중 구조 완성 (명문화 + 자기검증 + 감사관 재귀 감사) |
|
| 43 | 2026-04-19 | (PD님 직접 지시) **C35 pm-auditor 의무 참여 체계 신설 + feedback 본문 능동 Read 강제 장치** — 남은 약점 2종 보완. PD님 "pm-auditor는 PM 명시 호출에만 작동하지 말고 조직 내 공유 필요 시 의무 참여·구체 맥락 능동 Read 개선" 수용 | **완료** | **[완료: 2026-04-19 02:00 · commit: (본 7차 commit) · 참조: `공유/대화로그/조직운영/2026-04-19.md` "C35 신설" 엔트리]** (보정 5종) SKILL.md **C35 신설 8하위 조항** (의무 호출 대상 7종·제외 4종·호출 방식·위반 시·재귀 감사·근본적 한계 인정·연관 규칙) · C31 체크리스트 **F·G 그룹 신설** (C35 의무 호출 + feedback 본문 선행 Read) · `pm-auditor.md` 의무 참여 체계 섹션 신설 · `CLAUDE.md` C35 요약 + 활성 규칙 29→30 · `scripts/recent_feedback_brief.sh` 확장 (본문 Read 안내) | - | 본 세션 PM 보고 품질 3연속 문제(이슈 축소·안건 중복·종결 언급) 구조적 재발 방지 3중 구조 완성 (명문화 + 자기검증 + 감사관 재귀 감사) |
|
||||||
| 42 | 2026-04-19 | (PD님 직접 지시) **종결 안건 자동 언급 금지 원칙 명문화** — PM이 #38 예상 결과 보고에서 이미 확정된 종결 안건을 "고착·영구 종료" 표현으로 재언급한 것 지적. PD님 "종결 안건은 별도 히스토리 요청 전까지 언급 금지, 항상 최신 결정 사항으로 얘기" | **완료** | **[완료: 2026-04-19 01:30 · commit: (본 5차 commit) · 참조: `공유/대화로그/조직운영/2026-04-19.md` "종결 안건 자동 언급 금지" 엔트리]** (보정 4종) SKILL.md **P28-8 신설** (최신 결정 중심 보고 원칙) · pm-auditor **5-D 신설** (종결 안건 자동 언급 감지) · `memory/org/feedback_resolved_agenda_unnecessary_reference.md` 신설 + MEMORY.md 인덱스 · 대화로그 append | - | 본 보고부터 원칙 적용. 본 세션 PM 보고 품질 문제 3연속 패턴 (이슈 축소·안건 중복·종결 언급) 모두 feedback화 완료 |
|
| 42 | 2026-04-19 | (PD님 직접 지시) **종결 안건 자동 언급 금지 원칙 명문화** — PM이 #38 예상 결과 보고에서 이미 확정된 종결 안건을 "고착·영구 종료" 표현으로 재언급한 것 지적. PD님 "종결 안건은 별도 히스토리 요청 전까지 언급 금지, 항상 최신 결정 사항으로 얘기" | **완료** | **[완료: 2026-04-19 01:30 · commit: (본 5차 commit) · 참조: `공유/대화로그/조직운영/2026-04-19.md` "종결 안건 자동 언급 금지" 엔트리]** (보정 4종) SKILL.md **P28-8 신설** (최신 결정 중심 보고 원칙) · pm-auditor **5-D 신설** (종결 안건 자동 언급 감지) · `memory/org/feedback_resolved_agenda_unnecessary_reference.md` 신설 + MEMORY.md 인덱스 · 대화로그 append | - | 본 보고부터 원칙 적용. 본 세션 PM 보고 품질 문제 3연속 패턴 (이슈 축소·안건 중복·종결 언급) 모두 feedback화 완료 |
|
||||||
| 41 | 2026-04-19 | (PD님 직접 지시) **C6-1 원본 보호 규칙 위반 보정 + PM 보고 혼선 재발 방지 교훈 기록**. PD님 직접 지적: "C34 확장 집행 완료 과정에 C6-1 원본 보호 규칙을 지키지 않았어?" → 백업 파일명 포맷 8곳 비표준(`.bak-*`) 발견 + PM 보고 "같은 안건 중복·이미 결정된 사안 재질문" 혼선 지적. 보정 1·3·4 PM 재량 집행, 결정 1(기존 `.bak-*` rename) 생략 | **완료** | **[완료: 2026-04-19 01:15 · commit: (본 4차 commit) · 참조: `공유/대화로그/조직운영/2026-04-19.md` "C6-1 위반 보정 + 혼선 교훈" 엔트리]** (보정 3종 + 교훈 2종) 보정 1: `memory_junction_ensure.sh`·`live_junction_ensure.sh`·`setup_windows.ps1`(3곳)·`setup_macos.sh`(3곳) 총 8곳 백업 포맷 C6-1 표준(`.bak_YYYYMMDD_HHMM`) 수정 · 보정 3: `memory/org/feedback_backup_filename_format_violation.md` + `feedback_agenda_framing_duplication.md` 2종 신설 + MEMORY.md 인덱스 2건 · 보정 4: `pm-auditor.md` 5-B(백업 포맷)·5-C(안건 프레이밍 중복) 2문항 + `dev-auditor.md` 6-B(백업 포맷) 1문항 신설 | - | 기존 `.bak-*` 디렉토리는 PD님 결정 "생략" 수용, 현 그대로 유지. 향후 백업만 표준 적용 |
|
| 41 | 2026-04-19 | (PD님 직접 지시) **C6-1 원본 보호 규칙 위반 보정 + PM 보고 혼선 재발 방지 교훈 기록**. PD님 직접 지적: "C34 확장 집행 완료 과정에 C6-1 원본 보호 규칙을 지키지 않았어?" → 백업 파일명 포맷 8곳 비표준(`.bak-*`) 발견 + PM 보고 "같은 안건 중복·이미 결정된 사안 재질문" 혼선 지적. 보정 1·3·4 PM 재량 집행, 결정 1(기존 `.bak-*` rename) 생략 | **완료** | **[완료: 2026-04-19 01:15 · commit: (본 4차 commit) · 참조: `공유/대화로그/조직운영/2026-04-19.md` "C6-1 위반 보정 + 혼선 교훈" 엔트리]** (보정 3종 + 교훈 2종) 보정 1: `memory_junction_ensure.sh`·`live_junction_ensure.sh`·`setup_windows.ps1`(3곳)·`setup_macos.sh`(3곳) 총 8곳 백업 포맷 C6-1 표준(`.bak_YYYYMMDD_HHMM`) 수정 · 보정 3: `memory/org/feedback_backup_filename_format_violation.md` + `feedback_agenda_framing_duplication.md` 2종 신설 + MEMORY.md 인덱스 2건 · 보정 4: `pm-auditor.md` 5-B(백업 포맷)·5-C(안건 프레이밍 중복) 2문항 + `dev-auditor.md` 6-B(백업 포맷) 1문항 신설 | - | 기존 `.bak-*` 디렉토리는 PD님 결정 "생략" 수용, 현 그대로 유지. 향후 백업만 표준 적용 |
|
||||||
|
|
|
||||||
|
|
@ -184,6 +184,39 @@
|
||||||
4. **사이드 이펙트 5종을 "감수" 수준으로 방치** — race condition은 실체 리스크, Lock 추가로 해결, 기각
|
4. **사이드 이펙트 5종을 "감수" 수준으로 방치** — race condition은 실체 리스크, Lock 추가로 해결, 기각
|
||||||
- **상태**: 완료. commit + push 대기 → 완료 후 조직 전원 세션 재시작 안내
|
- **상태**: 완료. commit + push 대기 → 완료 후 조직 전원 세션 재시작 안내
|
||||||
|
|
||||||
|
<!-- #PD지시 #PM #완료 #C35-9_10신설 #hook3층구조 #장기패턴분석 -->
|
||||||
|
## [PM 집행 완료] C35-9 hook 3층 구조 + C35-10 경고 무시 PD 보고·장기 패턴 분석
|
||||||
|
|
||||||
|
- **요지**: PD님 직접 지시 옵션 A 집행 + "경고 무시 PD 우선 보고·감사 자산 축적" + "장기 행동 패턴 분석·점진적 개선" 수용. C35 최초 pm-auditor 사전 의무 호출 실증 사례. Major 3건 정정 후 집행 완료.
|
||||||
|
- **이유**: C35 신설 직후 잔여 리스크 2종(의무 호출 누락 시 감사 무효화·사후 감사 시점차)을 hook 3층으로 축소. PM 자기검증 의존 구조를 사후 탐지 체계로 보강.
|
||||||
|
- **사전 pm-auditor 감사 (C35-1·C35-4 준수)**:
|
||||||
|
- 호출 결과: **Critical 0·Major 3·Minor 1·Improvement 3** → Major 정정 후 집행 허용
|
||||||
|
- Major 3건 정정 반영:
|
||||||
|
1. C35-9 제목 "pm-auditor 호출 자동 강제 hook 3층 구조"
|
||||||
|
2. C35-10 제목 "경고 무시 PD 우선 보고 + 장기 행동 패턴 분석 개선 사이클"
|
||||||
|
3. C35-9 본문 말미 "PreToolUse 차단 아닌 사후 감지·LLM 자율 판단 구조 여전히 필수" 한계 단락 추가
|
||||||
|
- Improvement 2건 본 집행에 편입 (BYPASS 사유 기록 의무·`feedback_c35_initial_enforcement.md` 신설), 1건 후속 안건 (C35-1 8번째 "조직 자동화 체계 신설")
|
||||||
|
- **집행 8종**:
|
||||||
|
1. `scripts/auditor_call_log.sh` 신규 — PostToolUse Task matcher, pm-auditor 호출 기록 + 경고 무시 RESOLVED 처리
|
||||||
|
2. `scripts/auditor_guard.sh` 신규 — PostToolUse Edit|Write|MultiEdit|Bash matcher, 의무 영역 수정·git commit/push 시 30분 윈도우 검사 + UNRESOLVED 로그 + BYPASS 사유 로그
|
||||||
|
3. `scripts/audit_pattern_analyzer.sh` 신규 — SessionStart hook, 미해소 경고 환기 + 월 1일 자동 패턴 보고서 생성
|
||||||
|
4. `.claude/settings.json` PostToolUse Task·Edit|Write·Bash matcher + SessionStart audit_pattern_analyzer 편입
|
||||||
|
5. SKILL.md **C35-9 신설** (Layer 1·2·3 + 한계 재인정)
|
||||||
|
6. SKILL.md **C35-10 신설** (경고 무시 PD 보고 메커니즘·장기 패턴 분석·점진적 개선 사이클·BYPASS 사유 기록 의무)
|
||||||
|
7. CLAUDE.md C35 요약 확장
|
||||||
|
8. `memory/org/feedback_pm_warning_ignored_pattern.md` 누적 SOT 신설 (PD님 지시 2) + MEMORY.md 인덱스
|
||||||
|
- **Agent 경계 보호 (C34-11) 준수 실증**: 집행 전 `git -C "E:/NerdNavisAi" status` 빈 상태 확인 + 집행 후 본 worktree만 변경 (레포 루트 유출 0건)
|
||||||
|
- **C35 최초 집행 실증**: 본 집행은 hook 자동 강제 체계를 최초 구축하는 단계임에도 PM이 Task 도구로 pm-auditor 수동 사전 호출 수행 — C35-1 의무를 자동 hook 부재 시점에도 인지·준수한 실증 사례. 감사관이 `feedback_c35_initial_enforcement.md` 신설하여 영구 기록
|
||||||
|
- **기각안**:
|
||||||
|
1. **PreToolUse exit 2 강제 차단 모드** — hook 실수 시 정상 작업 차단 리스크 + Claude Code 버전 호환성 리스크. 옵션 A 경고 모드 채택, 기각
|
||||||
|
2. **BYPASS 사유 기록 선택** — 남용 방지 필요. 의무 기록으로 채택
|
||||||
|
3. **월별 보고서 수동 생성만** — PD님 "점진적 개선" 지시에 부합 어려움. SessionStart 월 1일 자동 생성 채택
|
||||||
|
4. **feedback_c35_initial_enforcement.md 생략** — 감사관이 자체 신설 완료, 본 Improvement 수용 유지
|
||||||
|
- **PD 지시 로그 #44 완료 아카이브 이동** (P19 강화·즉답 접두 포함)
|
||||||
|
- **상태**: 완료. commit + push 대기
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
<!-- #PD지시 #PM #완료 #C35신설 #pmAuditor의무참여 #feedback본문Read강제 -->
|
<!-- #PD지시 #PM #완료 #C35신설 #pmAuditor의무참여 #feedback본문Read강제 -->
|
||||||
## [PM 집행 완료] C35 pm-auditor 의무 참여 체계 신설 + C31-F·G 신설
|
## [PM 집행 완료] C35 pm-auditor 의무 참여 체계 신설 + C31-F·G 신설
|
||||||
|
|
||||||
|
|
@ -258,3 +291,25 @@
|
||||||
3. **보정 내용을 #40에 통합하지 않고 #41 별도 등록** — #40은 이미 완료 아카이브 상태. 본 지시는 별개 PD 직접 지시라 #41 신규 등록이 C13·P19 정합, 채택
|
3. **보정 내용을 #40에 통합하지 않고 #41 별도 등록** — #40은 이미 완료 아카이브 상태. 본 지시는 별개 PD 직접 지시라 #41 신규 등록이 C13·P19 정합, 채택
|
||||||
- **PD 지시 로그 #41 완료 아카이브 이동** (P19 강화·즉답 접두 포함)
|
- **PD 지시 로그 #41 완료 아카이브 이동** (P19 강화·즉답 접두 포함)
|
||||||
- **상태**: 완료. commit + push 대기
|
- **상태**: 완료. commit + push 대기
|
||||||
|
|
||||||
|
## pm-auditor 감사 — C35-9·10 신설 집행안 #이슈 #조직운영
|
||||||
|
|
||||||
|
- **호출 주체**: pm-general (C35-1 의무 호출 — 규칙 개정·신설)
|
||||||
|
- **감사 범위**: 5-A·5-B·5-C·5-D + 영역 1~6 전수
|
||||||
|
- **판정**: Critical 0, **Major 3**, Minor 1, Improvement 3 → **Major 정정 후 집행 허용**
|
||||||
|
- **Major 3건**:
|
||||||
|
1. C35-9 제목 "pm-auditor 호출 자동 강제 hook 3층 구조"로 명확화 (C22 용어 일관)
|
||||||
|
2. C35-10 제목 PD님 원문 "PD 우선 보고 + 장기 행동 패턴 분석 개선 사이클" 보존 (C22)
|
||||||
|
3. C35-9 본문 말미에 "hook은 사후 감지 층위 · PreToolUse 차단 아님 · C35-1 사전 호출 의무 LLM 의식 의존" 명시 추가 (C5 정직성 · C35-7 한계 인정 정합)
|
||||||
|
- **Minor**: PD 지시 #44 응답 작성 전 활성 테이블 선등록 (P19)
|
||||||
|
- **Improvement 3**:
|
||||||
|
1. C35-1 8번째 항목 "조직 자동화 체계 신설" 추가 안건화
|
||||||
|
2. `feedback_c35_initial_enforcement.md` 신설 (C35 최초 적용 실증 기록)
|
||||||
|
3. `NERDNAVIS_AUDITOR_BYPASS` 우회 사유 기록 의무 추가
|
||||||
|
- **5-A 축소 보고 감지**: PASS (PD님 옵션 A 본인 선택 + 지시 2·3 수용으로 3층 구조 확보). 단 Major-3 정정이 통과 조건
|
||||||
|
- **C35 최초 집행 특수성**: 본 감사관이 Task 도구로 실제 호출되어 실행 중 — hook 부재 상태에서 PM이 C35-1 의무를 수동 준수한 것. 닭과 달걀 역설 없음. C35-7 "~90% 커버 · 의식 의존" 실증 사례
|
||||||
|
- **산출물**:
|
||||||
|
- `공유/소통/pm-auditor→PM/2026-04-19_감사보고_C35-9_10_신설.md` 신설
|
||||||
|
- 본 대화로그 엔트리
|
||||||
|
- `memory/org/feedback_c35_initial_enforcement.md` 신설 권고 (Improvement-2)
|
||||||
|
- **상태**: 감사 완료. PM이 Major 3건 정정 후 집행 진행
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,90 @@
|
||||||
|
---
|
||||||
|
from: pm-auditor
|
||||||
|
to: pm-general
|
||||||
|
date: 2026-04-19
|
||||||
|
주제: C35-9·10 hook 체계 신설 집행안 감사
|
||||||
|
status: 완료 (Major 3건 정정 조건부 허용)
|
||||||
|
관련: C35-1 의무 호출 (본 감사가 C35 최초 적용 실증)
|
||||||
|
---
|
||||||
|
|
||||||
|
# 감사 보고서 — C35-9·C35-10 신설 집행안
|
||||||
|
|
||||||
|
## 요지
|
||||||
|
|
||||||
|
PD님 직접 지시 3종(옵션 A 경고 모드 + 경고 무시 PD 우선 보고 + 장기 패턴 분석·개선 사이클) 집행안 감사 완료. **Critical 부재, Major 3건**은 본문 표기·제목 보정 수준이며 집행 직전 일괄 반영 가능. 차단 사유 없음.
|
||||||
|
|
||||||
|
## 감사 범위
|
||||||
|
|
||||||
|
| 영역 | 결과 |
|
||||||
|
|------|------|
|
||||||
|
| 1. 로그 기록 추적 | PASS (조건부 — #44 선등록) |
|
||||||
|
| 2. 규칙 준수 점검 | Major 3건 |
|
||||||
|
| 3. PM 재량 처리 | PASS |
|
||||||
|
| 4. 프로세스 개선점 | PASS (긍정 평가) |
|
||||||
|
| 5-A 축소 보고 감지 | PASS |
|
||||||
|
| 5-B 백업 파일명 | 해당 없음 |
|
||||||
|
| 5-C 안건 중복 | PASS |
|
||||||
|
| 5-D 종결 안건 재언급 | PASS |
|
||||||
|
|
||||||
|
## Major 3건 정정 권고
|
||||||
|
|
||||||
|
### Major-1. C35-9 제목 명확화 (C22 용어 일관)
|
||||||
|
|
||||||
|
- 초안: "hook 3층 구조 (Layer 1 사전 환기 · Layer 2 호출 자동 기록 · Layer 3 사후 경고)"
|
||||||
|
- 권고: **"pm-auditor 호출 자동 강제 hook 3층 구조"**
|
||||||
|
- 사유: C34-3 "중앙 저장소 구조"와 용어 혼선 방지
|
||||||
|
|
||||||
|
### Major-2. C35-10 제목 "PD 우선 보고" 원문 보존
|
||||||
|
|
||||||
|
- 초안: "경고 무시 PD 보고 + 장기 패턴 분석·개선 사이클"
|
||||||
|
- 권고: **"경고 무시 PD 우선 보고 + 장기 행동 패턴 분석 개선 사이클"**
|
||||||
|
- 사유: PD님 원문 "PD 우선 보고" 표현 보존 (C22 용어 일관). 지시 3 "장기적 행동 패턴 분석 + 점진적 개선 조치" 원문 반영 강화
|
||||||
|
|
||||||
|
### Major-3. C35-9 본문에 "hook 층위 범위" 명시 의무
|
||||||
|
|
||||||
|
C35-9 본문 말미에 다음 1단락 추가 필수:
|
||||||
|
|
||||||
|
> **본 hook 3층은 사후 감지·기록·경고 층위이며, PreToolUse 차단 방식이 아니므로 LLM의 C35-1 사전 호출 의무 인지는 여전히 필수**다. C35-7 "코드·hook 레벨에서 강제 불가 · ~90% 커버" 한계 인정과 정합하며, 본 hook은 100% 강제가 아닌 "사후 탐지율 극대화 + 미호출 패턴 장기 축적"을 목표로 한다.
|
||||||
|
|
||||||
|
**누락 시 리스크**: 다음 세션 PM이 "hook 도입으로 100% 강제 달성" 오독 → C5 정직성 위반.
|
||||||
|
|
||||||
|
## Minor 1건
|
||||||
|
|
||||||
|
### Minor-1. PD 지시 #44 선등록 (P19)
|
||||||
|
|
||||||
|
본 집행 응답 본문 작성 **전**에 `공유/PD_지시_트래킹/개발팀_PD_지시_로그.md` 활성 테이블에 #44 등록 (지시 인지 즉시 등록 의무). 완료 후 아카이브 이동 + 즉답 접두 필수.
|
||||||
|
|
||||||
|
## Improvement 3건 (안건화 후보)
|
||||||
|
|
||||||
|
### Improvement-1. C35-1 "조직 자동화 체계 신설" 8번 항목 추가
|
||||||
|
|
||||||
|
본 집행은 "규칙 개정(1번)" + "hook 체계 최초 구축" 동시. hook·스크립트·감사 인프라 신설 자체를 C35-1 의무 호출 대상에 명시 검토.
|
||||||
|
|
||||||
|
### Improvement-2. `feedback_c35_initial_enforcement.md` 신설
|
||||||
|
|
||||||
|
본 감사가 C35 **최초 적용 실증** 사례. "hook 체계 부재 상태에서 PM 의식적 감사관 호출 준수 → C35-7 ~90% 커버 실증" 경위를 feedback 메모리로 영구 기록하여 차기 감사 메타데이터로 축적.
|
||||||
|
|
||||||
|
### Improvement-3. `NERDNAVIS_AUDITOR_BYPASS` 우회 사유 기록 의무
|
||||||
|
|
||||||
|
우회 변수 남용 차단을 위해 `auditor_guard.sh`에 **우회 시 사유 입력 프롬프트** 또는 **별도 bypass 로그 기록** 추가 검토. 현 초안은 단순 변수 체크만.
|
||||||
|
|
||||||
|
## 5-A 축소 보고 감지 심층 분석
|
||||||
|
|
||||||
|
PM 주장: "근본 강제 불가를 경고만으로 축소 프레이밍하지 않음 — PD님 옵션 A 본인 선택 + 지시 2·3 수용으로 3층 구조"
|
||||||
|
|
||||||
|
감사 판정: **통과**. 다만 Major-3 명시 누락 시 다음 세션 "근본 해결됨" 오독 리스크 존재. Major-3 정정이 5-A 통과의 조건.
|
||||||
|
|
||||||
|
## C35 최초 집행 특수성
|
||||||
|
|
||||||
|
**논리 정합 통과** — 본 감사관이 Task 도구로 실제 호출되어 실행 중. C35-1 "1. 규칙 개정·신설" 의무 호출을 PM이 수동으로 준수한 것. hook 부재 상태에서도 C35-1 문언만으로 사전 호출 가능. 닭과 달걀 역설 없음.
|
||||||
|
|
||||||
|
## 결론
|
||||||
|
|
||||||
|
**Major 3건 정정 후 집행 허용**. 차단 사유 없음.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
참조:
|
||||||
|
- `memory/org/feedback_issue_under_reporting.md` — C34/C16-1 동급 생존성 축소 보고 금지 (본 감사 5-A 체크 근거)
|
||||||
|
- `memory/org/feedback_pm_over_conservative_interpretation.md` — PM 과도 보수 4회차 변종 (상위 패턴 모집단)
|
||||||
|
- SKILL.md C35 본문·C34 중앙화 체계
|
||||||
Loading…
Reference in New Issue