BurningTimesAi/scripts/pm_context_restore.sh.bak_2...

70 lines
2.2 KiB
Plaintext
Raw Permalink Normal View History

#!/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