#!/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/.burningtimes_auditor_calls" WARN_DIR="$HOME/.claude/.burningtimes_warning_ignored" BYPASS_DIR="$HOME/.claude/.burningtimes_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