BurningTimesAi/scripts/postuse_log_reminder.sh

53 lines
1.9 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
# 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