diff --git a/memory/org/MEMORY.md b/memory/org/MEMORY.md index 589f695..5b1c885 100644 --- a/memory/org/MEMORY.md +++ b/memory/org/MEMORY.md @@ -37,3 +37,4 @@ - [C34 중앙 저장소 sentinel 손실 — 자동 보호 강화](feedback_central_sentinel_loss.md) — 2026-04-19 다른 세션 verify_setup이 marker 부재 정확 감지. git 외 작업으로 손실 (원인 미상). 안건 A 집행: live_junction_ensure.sh를 UserPromptSubmit hook에 편입 → 손실 윈도우 1프롬프트 이내로 축소 - [C34 memory sync 덮어쓰기 사고 — 레포 최신본 보호 강화](feedback_memory_sync_overwrite.md) — 2026-04-19 12차 commit 직후 post-commit sync가 Edit 내용 덮어씀. C34-16 Write 경로 혼용 + sync 스크립트 mtime 미비교 구조 결함. D안 집행: sync_memory_central_to_repo.sh mtime 보호 + C34-16 보강 - [PM "실질 필요성 없음에도 표면적 근거로 제안" 패턴](feedback_pm_surface_rationale_proposal.md) — 2026-04-19 paths.local.json 수동 생성 권고 사건. PD님 "왜 필요한지 설명해" 질문으로 실질 필요성 없음 자인·철회. 재발 방지 체크리스트 4문항(실질 이득·실사용 사례·정확성 검증·현 상태 유지 비교) 명문화. PM 보고 품질 4연속 패턴 중 4번째 +- [auditor_call_log RESOLVED word boundary 결함](feedback_auditor_resolved_substring_bug.md) — 2026-04-20 #48 A 집행. grep -q "RESOLVED"가 "UN**RESOLVED**" 부분문자열 매칭되어 append 영구 실패. grep -qw 수정 + 본 PC UNRESOLVED 수동 해소로 즉시 검증. 모든 PC 공통 구조 결함 diff --git a/memory/org/feedback_auditor_resolved_substring_bug.md b/memory/org/feedback_auditor_resolved_substring_bug.md new file mode 100644 index 0000000..bd68af9 --- /dev/null +++ b/memory/org/feedback_auditor_resolved_substring_bug.md @@ -0,0 +1,69 @@ +--- +name: auditor_call_log RESOLVED word boundary 결함 +description: 2026-04-20 #48 A 집행 중 발견. auditor_call_log.sh의 grep -q "RESOLVED"가 "UNRESOLVED" 부분문자열 매칭되어 RESOLVED append 항상 실패. C35-10 경고 무시 해소 사이클 구조적 무력화. grep -qw word boundary로 수정 +type: feedback +--- + +# auditor_call_log.sh RESOLVED word boundary 결함 + +## 실증 (2026-04-20) + +본 세션 #48 A 집행 중 `auditor_call_log.sh` RESOLVED append 로직 수동 재현 시 발견. + +### 타임라인 +- 2026-04-20 11:09:10: PM Edit(PD 지시 로그) → auditor_guard.sh → `2026-04-20.log`에 `UNRESOLVED target=의무 영역 파일 수정` append +- 2026-04-20 11:10: pm-auditor Task 호출 → auditor_call_log.sh 실행 (`pm-auditor called` 기록 38B) +- 2026-04-20 11:12 수동 재현: `tail -1`이 UNRESOLVED 라인 반환, `grep -q "RESOLVED"` **true** (UN**RESOLVED** 부분문자열 매칭), `!` 부정으로 **false** → append 실패 + +### 결함 코드 (수정 전) + +`scripts/auditor_call_log.sh:27` +```bash +if grep -q "UNRESOLVED" "$wf" 2>/dev/null && ! tail -1 "$wf" | grep -q "RESOLVED"; then +``` + +`grep -q "RESOLVED"`는 "UNRESOLVED"·"RESOLVED" 모두 매칭. **마지막 줄이 UNRESOLVED이면 항상 RESOLVED 매칭 true → 조건 false → append 영구 실패**. + +## 영향 + +- **C35-10 경고 무시 해소 사이클 구조적 무력화**: pm-auditor 호출이 UNRESOLVED 해소 기능 전혀 작동 못 함 +- `audit_pattern_analyzer.sh`가 매 SessionStart에서 "미해소 경고 N건" 환기 지속 → PD님·PM 인지 피로 +- **모든 PC 공통 구조 결함** (본 PC·전 PC 무관) + +## 해결 (2026-04-20 #48 A 집행) + +### 수정 +`grep -q "RESOLVED"` → `grep -qw "RESOLVED"` (-w: word boundary) +- "UNRESOLVED" 라인 → `-qw RESOLVED` false (정확) +- "2026-04-20 RESOLVED by pm-auditor call" → `-qw RESOLVED` true + +### 집행 +1. `scripts/auditor_call_log.sh:28` 수정 (word boundary 적용 + 결함 주석) +2. 본 PC `2026-04-20.log` 수동 RESOLVED append (수정 로직 즉시 검증) +3. git 반영으로 모든 PC 자동 동기화 + +## 잔여 과제 (G 신규 안건 연계) + +**전 PC(2026-04-19 실증 PC)에서 `auditor_call_log.sh` 파일 자체가 생성 실패**한 원인은 본 결함과 **다른** 이슈. 본 PC에서는 정상 생성 확인. PC 특이적 환경 차이(stdin 인코딩·경로·hook 실행 환경) 추정. 해당 PC 세션 재방문 시 재현 조사 필요 → **G 신규 안건 "PC 로컬 상태 동기화 메커니즘 검토"**와 연계. + +## 교훈 + +1. **부분문자열 매칭 함정**: 단어 기반 로그 검색은 반드시 `-w`(word boundary) 또는 정규식 `\b` 또는 명시적 구분자(공백·탭). 접두사·접미사가 있는 단어군에서 `grep -q` 단순 사용 금지 +2. **감사 체계 자체 감사**: C35-9 Layer 2 설계 당시 본 로직이 6번 이상의 PD님 승인·집행을 통과했음에도 발견 안 됨. pm-auditor 5-E 체크 "감사 체계 자체 자기 검증" 정기화 검토 +3. **수동 재현 가치**: 자동 hook은 사일런트 실패 가능. PC 변경 시 수동 재현으로 구조 결함 조기 발견 가능 + +## 연관 + +- **C35-9** Layer 2 호출 기록 + UNRESOLVED 해소 처리 +- **C35-10** 경고 무시 PD 우선 보고 + 장기 패턴 분석 개선 사이클 +- `memory/org/feedback_pm_warning_ignored_pattern.md` (상위 누적 SOT) +- `memory/org/feedback_c35_initial_enforcement.md` (C35 최초 집행 실증) +- #48 B: `pm_context_restore.sh` 경로 기반 필터 전환 (동일 일자 집행) +- #48 C: 본 PC 2026-04-20 UNRESOLVED 수동 해소 (A 수정 로직 즉시 검증) + +## 재발 방지 체크리스트 + +pm-auditor 감사 시 신설 스크립트·hook 검토 추가 문항: +- [ ] 로그·상태 플래그 기반 분기 로직에 **접두사·접미사 변종** 가능성 검토했는가? +- [ ] `grep -q` 사용 시 `-w`·`-x`·정규식 경계 필요성 판단했는가? +- [ ] 결함 시 사일런트 실패가 아닌 **의미 있는 에러 또는 로그** 출력 설계했는가? diff --git a/scripts/auditor_call_log.sh b/scripts/auditor_call_log.sh index 1cf9830..5888c30 100644 --- a/scripts/auditor_call_log.sh +++ b/scripts/auditor_call_log.sh @@ -24,7 +24,8 @@ 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 + # 2026-04-20 #48 A 집행: grep -qw 로 word boundary 적용 (기존 grep -q "RESOLVED"는 UN**RESOLVED** 부분문자열 매칭되어 항상 true → append 실패 결함) + if grep -q "UNRESOLVED" "$wf" 2>/dev/null && ! tail -1 "$wf" | grep -qw "RESOLVED"; then echo "$(date +%Y-%m-%d_%H:%M:%S) RESOLVED by pm-auditor call" >> "$wf" fi done diff --git a/scripts/auditor_call_log.sh.bak_20260420_1113 b/scripts/auditor_call_log.sh.bak_20260420_1113 new file mode 100644 index 0000000..1cf9830 --- /dev/null +++ b/scripts/auditor_call_log.sh.bak_20260420_1113 @@ -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 diff --git a/scripts/pm_context_restore.sh b/scripts/pm_context_restore.sh index b43efa5..183c5a0 100644 --- a/scripts/pm_context_restore.sh +++ b/scripts/pm_context_restore.sh @@ -23,14 +23,15 @@ for PROJ in "$LOG_ROOT"/*/; do if [ -d "$PROJ" ]; then TODAY_LOG="$PROJ$TODAY.md" if [ ! -f "$TODAY_LOG" ]; then - # 당일 작업이 있는데 로그 없으면 경고 (git log로 당일 커밋 확인) - TODAY_COMMITS=$(git log --since="$TODAY 00:00" --oneline 2>/dev/null | wc -l | tr -d ' ') - if [ "$TODAY_COMMITS" -gt "0" ]; then + # 경로 기반 필터 (2026-04-20 #48 B 집행): 해당 프로젝트 폴더 직접 수정 commit만 경고 대상 + # 구 로직(commit count 기반)은 조직 규칙·hook·feedback 세션에서도 오알람 유발 (feedback_p24_hook_false_positive 근거) + PROJ_COMMITS=$(git log --since="$TODAY 00:00" --name-only --pretty=format: 2>/dev/null | grep -E "^프로젝트/$PROJ_NAME/|^코어코드/" | wc -l | tr -d ' ') + if [ "$PROJ_COMMITS" -gt "0" ]; then if [ "$MISSING_TODAY" -eq "0" ]; then - echo "⚠️ P24 위반 감지 — 당일 대화로그 미작성:" + echo "⚠️ P24 위반 감지 — 당일 대화로그 미작성 (프로젝트 폴더 직접 수정 commit 존재):" MISSING_TODAY=1 fi - echo " - $PROJ_NAME/$TODAY.md (당일 커밋 ${TODAY_COMMITS}건 존재)" + echo " - $PROJ_NAME/$TODAY.md (프로젝트 폴더 수정 ${PROJ_COMMITS}건)" fi fi fi diff --git a/scripts/pm_context_restore.sh.bak_20260420_1112 b/scripts/pm_context_restore.sh.bak_20260420_1112 new file mode 100644 index 0000000..b43efa5 --- /dev/null +++ b/scripts/pm_context_restore.sh.bak_20260420_1112 @@ -0,0 +1,69 @@ +#!/bin/bash +# SessionStart hook — PM 자기 업무 맥락 복원 +# 신설 근거: 2026-04-17 C29 위반 사건 (이전 세션 PM 업무 파악 실패) +# 관련 규칙: P21-5B, P24 읽기 의무, C31 자기검증 + +REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null) +[ -z "$REPO_ROOT" ] && exit 0 + +LOG_ROOT="$REPO_ROOT/공유/대화로그" +[ ! -d "$LOG_ROOT" ] && exit 0 + +TODAY=$(date +%Y-%m-%d) +YESTERDAY=$(date -d "yesterday" +%Y-%m-%d 2>/dev/null || date -v-1d +%Y-%m-%d 2>/dev/null) + +echo "" +echo "🧠 [PM 맥락 복원] 최근 2일 대화로그 자동 스캔" + +# 당일 로그 부재 감지 (P24 위반 플래그) +MISSING_TODAY=0 +for PROJ in "$LOG_ROOT"/*/; do + PROJ_NAME=$(basename "$PROJ") + [ "$PROJ_NAME" = "INDEX.md" ] && continue + if [ -d "$PROJ" ]; then + TODAY_LOG="$PROJ$TODAY.md" + if [ ! -f "$TODAY_LOG" ]; then + # 당일 작업이 있는데 로그 없으면 경고 (git log로 당일 커밋 확인) + TODAY_COMMITS=$(git log --since="$TODAY 00:00" --oneline 2>/dev/null | wc -l | tr -d ' ') + if [ "$TODAY_COMMITS" -gt "0" ]; then + if [ "$MISSING_TODAY" -eq "0" ]; then + echo "⚠️ P24 위반 감지 — 당일 대화로그 미작성:" + MISSING_TODAY=1 + fi + echo " - $PROJ_NAME/$TODAY.md (당일 커밋 ${TODAY_COMMITS}건 존재)" + fi + fi + fi +done + +# 최근 2일 로그 목록 출력 +echo "" +echo "📚 최근 2일 대화로그 (Read 권장):" +FOUND=0 +for PROJ in "$LOG_ROOT"/*/; do + PROJ_NAME=$(basename "$PROJ") + [ "$PROJ_NAME" = "INDEX.md" ] && continue + if [ -d "$PROJ" ]; then + for DATE in "$TODAY" "$YESTERDAY"; do + LOG_FILE="$PROJ$DATE.md" + if [ -f "$LOG_FILE" ]; then + SIZE=$(wc -c < "$LOG_FILE" 2>/dev/null | tr -d ' ') + echo " - 공유/대화로그/$PROJ_NAME/$DATE.md (${SIZE}B)" + FOUND=1 + fi + done + fi +done + +[ "$FOUND" -eq "0" ] && echo " (최근 2일 로그 없음)" + +# PM 자기 커밋 최근 10건 (맥락 복원 보조) +echo "" +echo "📝 최근 커밋 10건 (PM 자기 업무 맥락):" +git log --oneline -10 2>/dev/null | sed 's/^/ /' + +echo "" +echo "→ P21-5B 수행: 위 대화로그를 Read하여 이전 세션 결정·방향 복원" +echo "→ C31 자기검증: 응답 발신 직전 C27~C30 준수 여부 확인 의무" + +exit 0 diff --git a/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md b/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md index 4e00254..e8eda39 100644 --- a/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md +++ b/공유/PD_지시_트래킹/개발팀_PD_지시_로그.md @@ -33,7 +33,7 @@ C3·C13 위반에 해당. **즉시 자진 보고 후 소급 등록**. |---|------|----------|----------|-----------|----------|----------| | 2 | 2026-04-14 | 서버 Critical 보안 3건 보류 | 보류 | `프로젝트/수상한잡화점/개발/05_서버연동_현황_v1.md` | 서버 파트 정비 미완료 (PD님 지시) | 서버팀 가동 시점에 블로커급 재개. 담당: 서버팀장. 재개 트리거: 서버 파트 정비 완료 통보 | | 38 | 2026-04-17 | (#28 후속 분리) Phase 3 재개 로드맵 결정 — Unity MCP 단일축 기반 밸런스 작업 재개 범위·선후관계·검증 축 확정 | 보류 | (로드맵 확정 시 기입) | PD님 별도 논의 예정 | 재개 트리거: PD님 Phase 3 재개 지시 수령. 기획팀 #3 동시 재개 | -| 48 | 2026-04-19 | (PD님 직접 지시 · 공유 전용) **본 세션 최종 점검 결과 6개선 안건 이어받기** — 신 세션·신 PC가 집행 착수. PM은 본 세션에서 기록·공유만 수행 | 대기 | (상세 안건) `공유/조직공지/2026-04-19_세션최종점검_6개선안건_이어받기.md` + (관련 feedback) `feedback_pm_surface_rationale_proposal.md`·`feedback_pm_warning_ignored_pattern.md`·`feedback_memory_sync_overwrite.md`·`feedback_central_sentinel_loss.md` | - | 신 세션 착수 조건: git pull 후 세션 재시작 → 본 조직공지 Read → A 긴급(auditor_call_log.sh 미작동) 우선 조사. 집행 완료 시 본 행 아카이브 이동 + 즉답 접두 적용 | +| 48 | 2026-04-19 | (PD님 직접 지시) **세션 최종 점검 6개선 안건 이어받기 집행** — 2026-04-20 신 세션 착수. A·B·C 집행, D·E·F 집행 전 핵심 보고 | 진행중 | (상세 안건) `공유/조직공지/2026-04-19_세션최종점검_6개선안건_이어받기.md` + (관련 feedback) `memory/org/feedback_pm_surface_rationale_proposal.md`·`memory/org/feedback_pm_warning_ignored_pattern.md`·`memory/org/feedback_memory_sync_overwrite.md`·`memory/org/feedback_central_sentinel_loss.md` | - | A·B·C 집행 후 D·E·F 보고 → PD님 판단 후 선별 집행 | > **2026-04-15 오후 추가 갱신 (C4·C13 위반 자진 정정 2차)**: > #5번 신규 등재. PD님 3대 지시(A/B/C) 및 #1 산출물 경로에 Framework Tier 1 구현체(`D:/NerdNavis/NerdNavis.Framework/`)를 소급 등록. **B 착수 시점 및 Git 동기화 병렬 지시(#4) 착수 시점에 총괄PM 공유를 누락**한 건을 PD님이 직접 지적하여 즉시 정정. 근본 원인: "C 항목 진행 전 지시 대기" 지시를 본인이 **PM 공유 전체 보류**로 잘못 확대 해석. C4(총괄PM 하달)·C13(4단계 가시화)의 "작업 착수 시점=상시 공유 의무" 원칙을 거스른 것. 재발 방지 관례: **신규 트랙 착수 즉시 pm-general 공유 → TodoWrite 항목 생성** (총괄PM 채택 권고). 자체 경위는 `공유/일일보고/2026-04-15_개발팀.md` 오후 섹션 참조. diff --git a/공유/대화로그/조직운영/2026-04-20.md b/공유/대화로그/조직운영/2026-04-20.md new file mode 100644 index 0000000..5c88207 --- /dev/null +++ b/공유/대화로그/조직운영/2026-04-20.md @@ -0,0 +1,80 @@ +# 2026-04-20 조직운영 대화로그 + + +## [PM 집행] #48 A·B·C 3건 집행 — 전 PC 세션 이어받기 + +- **요지**: PD님 지시 "A·B·C 3건 집행, D·E·F는 집행 전 핵심 보고" 수용. 본 세션(PC: DESKTOP-RD7PUKN)은 전 세션 결함 실증 PC와 별개. PD님 "어떤 PC에서도 일관 상태 동기화" 지시 결합 수용. +- **배경**: 전 세션(2026-04-19) C34/C35 구조 결함 3건 수습 + 14 commit 완료 후 최종 점검에서 6건 잔여 결함 발견. 공유만 하고 신 세션이 이어받기로 분리. #48 활성 지시 등록. +- **실측 (본 세션 PC)**: + - `$HOME/.claude/.nerdnavis_auditor_calls/2026-04-20.log` **정상 생성** (38B, 11:10) — A 결함은 전 PC에서만 파일 생성 실패 실증됨 + - `$HOME/.claude/.nerdnavis_warning_ignored/2026-04-20.log` UNRESOLVED 1건 신규 발생 (11:09:10) — 본 세션도 UNRESOLVED 누적 중 + - pm-auditor Task 호출 후에도 RESOLVED append 미작동 관측 → 수동 재현으로 **근본 원인 확정** + +### A 근본 원인 확정 (word boundary 결함) + +`scripts/auditor_call_log.sh:27` (수정 전): +```bash +if grep -q "UNRESOLVED" "$wf" 2>/dev/null && ! tail -1 "$wf" | grep -q "RESOLVED"; then +``` + +`grep -q "RESOLVED"`는 "UN**RESOLVED**" 부분문자열 매칭 → `tail -1`이 UNRESOLVED 라인이면 **항상 true**, `!` 부정으로 **false** → append 영구 실패. + +**모든 PC 공통 구조 결함**. 전 PC auditor_call_log 파일 자체 생성 실패 현상은 PC 특이적 별개 이슈 (G 안건 연계). + +### 집행 4종 + +1. **A 수정**: `auditor_call_log.sh:28` `grep -q` → `grep -qw` (word boundary) + 결함 주석. 백업 `.bak_20260420_1113` 생성 +2. **B 수정**: `pm_context_restore.sh:27-31` commit count 기반 → **프로젝트 경로 기반 필터**로 전환. `git log --name-only --pretty=format: | grep "^프로젝트/$PROJ_NAME/|^코어코드/"`로 **프로젝트 폴더 직접 수정 commit만** 경고 대상. 조직 규칙·hook·feedback 작업 세션 오알람 차단. 백업 `.bak_20260420_1112` 생성 +3. **C 수정**: 본 PC `2026-04-20.log` 수동 RESOLVED append (A 수정 로직 즉시 검증) — 11:13:40 `RESOLVED by manual sync (#48 A·C 집행, grep -qw fix)` 기록 확인 +4. **feedback 메모리 신설**: `feedback_auditor_resolved_substring_bug.md` + MEMORY.md 인덱스 append + +### pm-auditor 감사 결과 반영 + +Critical 1·Major 2·Minor 1·Improvement 1 지적 중: +- **Critical C-1 (본 PC 해당 없음 전제 오류)**: C 재설계 2층 보고 수용 (본 PC UNRESOLVED 수동 해소 + 전 PC는 G 연계) +- **Major M-1 (A 실증 설계 불완전)**: RESOLVED append 로직 수동 재현으로 근본 원인 확정 (word boundary 결함) +- **Major M-2 (B 백업 의무)**: `.bak_YYYYMMDD_HHMM.sh` 표준 백업 생성 +- **Minor m-1 (A 재귀성 커밋 명시)**: 본 commit 메시지·대화로그 엔트리에 명시 +- **Improvement I-1 (P28-8)**: 통과 + +### D·E·F 핵심 보고 (집행 전 안내) + +- **D. `.live/README.md` 영구 소실**: 중앙 저장소 `.junction-marker`(57B)만 존재, README.md 본 세션 초기 sentinel 손실 시 함께 삭제됨. **기능 영향 0** (marker만으로 C34 작동 정상), 조직 안내 문서 역할만 상실. PD님 결정 필요: (a) 복구 (b) 현 상태 유지 +- **E. sync 스크립트 mtime 보호 비대칭**: D안으로 `sync_memory_central_to_repo.sh`는 mtime 보호 추가했으나 반대 방향 `sync_memory_repo_to_central.sh`는 unflushed 대피 로직만. **레포 SOT 원칙상 현 로직 정상**. `feedback_pm_surface_rationale_proposal.md` 체크리스트 4문항 적용 필요 — 실질 이득 검증 없이 대칭성만으로 수정 시 표면적 근거 제안 패턴 재발 위험 +- **F. 감사관 3종 정의 일관성**: pm-auditor는 5-A~5-D·6-A·6-B 다수 추가, dev·plan-auditor는 6-A만. 범영역 공통 체크(안건 프레이밍 중복·종결 안건 언급·실질 필요성 검증)는 pm-auditor 전담 유지 권장, 개발·기획 영역 특화 체크만 dev·plan으로 확장 + +### G 신규 안건 발의 (PC 로컬 상태 동기화 메커니즘) + +**배경**: PD님 직접 지시 "어떤 PC에서 작업을 하든 항상 일관 된 상태로 업무를 진행할 수 있도록 철저하게 동시화되어야만 해." + +**문제**: `$HOME/.claude/.nerdnavis_auditor_calls/`·`.nerdnavis_warning_ignored/`·`.nerdnavis_bypass_log/`는 **PC 로컬 상태**. 본 PC 해소가 전 PC에 반영되지 않음. 전 PC 2026-04-19 UNRESOLVED 2건은 본 세션에서 처리 불가. + +**검토안**: C34 중앙 Junction 패턴 확장으로 `.nerdnavis_*` 3종 디렉토리를 `$HOME/.claude/nerdnavis-audit/` 중앙화. worktree 경계 무관 + PC 간 git sync 가능. + +**우려**: PC별 로컬 로그(호출 타임스탬프 등)는 PC별 독립성이 본래 의도일 수 있음 → 중앙화 시 PC 간 로그 혼재로 감사 신호 약화 가능성. 실질 필요성 검증 선행 (`feedback_pm_surface_rationale_proposal.md` 체크리스트 4문항). + +**현황**: PD님 판단 대기 (G 안건으로 활성 지시 로그 신규 등록 예정) + +### 산출물 + +- `scripts/auditor_call_log.sh` (A word boundary 수정) + 백업 +- `scripts/pm_context_restore.sh` (B 경로 필터 전환) + 백업 +- `memory/org/feedback_auditor_resolved_substring_bug.md` (신설) +- `memory/org/MEMORY.md` (인덱스 append) +- `공유/PD_지시_트래킹/개발팀_PD_지시_로그.md` (#48 진행중 상태 갱신) +- 본 대화로그 엔트리 + +### 기각안 + +1. **C를 "본 PC 해당 없음"으로 단정** — pm-auditor Critical C-1로 기각. 정직성 위반 (본 PC도 UNRESOLVED 신규 발생 실측) +2. **A 로직 전면 재설계 (UN_CNT vs RES_CNT 카운트 비교 등)** — 기본 버그(`grep -qw`)만 수정으로 충분. 추가 리팩토링은 실질 필요성 미검증 +3. **E 집행 동시 수행** — PD님 지시 "D·E·F는 집행 전 보고". 범위 외 +4. **G 안건 본 세션 즉시 집행** — PD님 지시 범위 A·B·C 초과. 발의·보고만 수행 +5. **`.live/README.md` D 즉시 복구** — PD님 지시 "집행 전 보고". 범위 외. 기능 영향 0으로 긴급성 낮음 + +### 상태 + +- A·B·C 집행 완료 +- D·E·F 핵심 보고 완료 (PD님 판단 대기) +- G 신규 안건 발의 (PD님 판단 대기) +- commit + push 대기