BurningTimesAi/scripts/session_end_audit.sh

75 lines
3.5 KiB
Bash
Raw Normal View History

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>
2026-04-17 06:12:36 +00:00
#!/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 당일 대화로그 존재 대조
# 2026-04-18 강화: 커밋 영향 프로젝트별 개별 점검 (PM 과도 보수 4회차 변종 재발 방지)
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>
2026-04-17 06:12:36 +00:00
TODAY_COMMITS=$(git log --since="$TODAY 00:00" --oneline 2>/dev/null | wc -l | tr -d ' ')
if [ "$TODAY_COMMITS" -gt 0 ]; then
# 당일 커밋이 수정한 파일 영향 프로젝트 자동 판정
CHANGED_FILES=$(git log --since="$TODAY 00:00" --name-only --pretty="format:" 2>/dev/null | sort -u)
# 영역별 대화로그 필요 여부 판정
NEEDS_SUSANG=0 # 수상한잡화점
NEEDS_CORE=0 # 코어프레임워크
NEEDS_ORG=1 # 조직운영 (항상 필요 — 커밋 자체가 조직 활동)
if echo "$CHANGED_FILES" | grep -q "^프로젝트/수상한잡화점/"; then
NEEDS_SUSANG=1
fi
if echo "$CHANGED_FILES" | grep -qE "^프로젝트/코어프레임워크/|^코어코드/"; then
NEEDS_CORE=1
fi
# 조직 룰(SKILL.md·C·P) 변경도 코어프레임워크 차기 활용 영향
feat(BT·신설): 조직 신설 Phase 1 — git 저장소 교체 + 중앙 저장소 A안 분리 PD님 2026-04-21 직접 지시 5개 중 1·2·4 이행. ## 집행 내역 1. git remote: NerdNavisAi.git → BurningTimesAi.git 교체 (BT main + 본 worktree) - E:/NerdNavisAi 레포 원격은 원상 유지 (실측 확인) 2. 중앙 저장소 A안 분리: ~/.claude/burningtimes-{live,memory,audit}/ - nerdnavis-* 중앙 저장소에서 cp -r 복사 (원본 미변경) - .junction-marker 내용 BT로 갱신 3. 본 worktree .live junction 재연결 → burningtimes-live 4. audit junction 3종 신설: .burningtimes_{auditor_calls,warning_ignored,bypass_log} 5. scripts·setup 28파일 하드코딩 일괄 치환 (nerdnavis/NerdNavis/너드나비스/NERDNAVIS → burningtimes/BurningTimes/BURNINGTIMES) 6. paths.local.json.template BT 전용 재작성 (Unity·Framework 경로 __TBD__ placeholder) 7. .gitignore: .live.bak_*/ 패턴 추가 ## 보류 항목 (PD 재논의 예정) - 3. memory/org/ 내용 초기화 (PD 지시) - 5. Unity 프로젝트 경로 (PD 신규 경로 제공 전까지) - SKILL.md·CLAUDE.md 조직명 전환 및 P17·P29 처리 - 프로젝트/수상한잡화점/ 등 수상한잡화점 관련 일괄 정리 - 코어코드/NerdNavis.Framework/ → BT-프레임워크 이름 전환 - 공유/조직공지/ 너드나비스 맥락 공지 처리 - .claude/agents/*.md frontmatter skills 참조명 ## 감사 pm-auditor 사전 감사 통과 (Critical 0건, Major 2건 commit 전 정정 완료). 매니페스트: bt-org-split-phase1 (C35-9 PreToolUse 차단 해제). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 15:14:51 +00:00
if echo "$CHANGED_FILES" | grep -qE "^\.claude/skills/BurningTimes-코어룰/|^공유/인계서/"; then
NEEDS_CORE=1
fi
# 프로젝트별 대화로그 부재 개별 경고
if [ "$NEEDS_ORG" -eq 1 ] && [ ! -f "$REPO_ROOT/공유/대화로그/조직운영/$TODAY.md" ]; then
ISSUES="${ISSUES}- 당일 커밋 ${TODAY_COMMITS}건 존재하나 조직운영 대화로그 부재 (P24 필수)\n"
fi
if [ "$NEEDS_SUSANG" -eq 1 ] && [ ! -f "$REPO_ROOT/공유/대화로그/수상한잡화점/$TODAY.md" ]; then
ISSUES="${ISSUES}- 수상한잡화점 프로젝트 파일 수정 커밋 있으나 수상한잡화점 대화로그 부재 (P24 기록 대상 기준: 커밋이 프로젝트/ 하위 수정 시 필수)\n"
fi
if [ "$NEEDS_CORE" -eq 1 ] && [ ! -f "$REPO_ROOT/공유/대화로그/코어프레임워크/$TODAY.md" ]; then
ISSUES="${ISSUES}- 코어프레임워크 프로젝트 파일 또는 조직 룰 수정 커밋 있으나 코어프레임워크 대화로그 부재 (차기 프로젝트 참고 자산 영향)\n"
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>
2026-04-17 06:12:36 +00:00
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