BurningTimesAi/scripts/c35_obligation_check.sh

64 lines
2.2 KiB
Bash

#!/bin/bash
# c35_obligation_check.sh — BurningTimes C35 pm-auditor 의무 호출 영역 감지 hook
# 2026-05-07 SKILL 동적 로딩 분할 Phase D-2 신설
# PostToolUse (Edit/Write/MultiEdit) — C35-1 의무 호출 7종 영역 작업 감지 + 환기
# 목적: pm-auditor 사전 호출 누락 차단 안전망
# 토큰 비용: 0
INPUT=$(cat 2>/dev/null)
FILE_PATH=$(echo "$INPUT" | grep -oE '"file_path"[[:space:]]*:[[:space:]]*"[^"]*"' | head -1 | sed 's/.*"\([^"]*\)"$/\1/')
BODY=$(echo "$INPUT" | grep -oE '"(new_string|content)"[[:space:]]*:[[:space:]]*"[^"]*"' | head -3)
[ -z "$FILE_PATH" ] && exit 0
OBLIGATION=""
# C35-1 #1 — 규칙 개정·신설 (SKILL.md·헌법·C·P)
if echo "$FILE_PATH" | grep -qE '(BurningTimes-코어룰/SKILL\.md|bt-foundation/SKILL\.md)'; then
OBLIGATION="${OBLIGATION}#1 규칙 개정·신설, "
fi
# C35-1 #3 — PD 지시 로그 상태 변경
if echo "$FILE_PATH" | grep -qE '공유/PD_지시_트래킹/.*_PD_지시_로그\.md' \
&& echo "$BODY" | grep -qE '(완료[[:space:]]*아카이브|상태[[:space:]]*변경|진행중.*완료|completed)'; then
OBLIGATION="${OBLIGATION}#3 PD 지시 로그 상태 변경, "
fi
# C35-1 #4 — feedback 메모리 신설·갱신
if echo "$FILE_PATH" | grep -qE 'memory/org/feedback_'; then
OBLIGATION="${OBLIGATION}#4 feedback 메모리, "
fi
# C35-1 #6 — 조직공지 발행
if echo "$FILE_PATH" | grep -qE '공유/조직공지/'; then
OBLIGATION="${OBLIGATION}#6 조직공지 발행, "
fi
# C35-1 #7 — 부서 간 산출물 공유 (소통 채널)
if echo "$FILE_PATH" | grep -qE '공유/소통/.*→.*'; then
OBLIGATION="${OBLIGATION}#7 부서 간 산출물, "
fi
[ -z "$OBLIGATION" ] && exit 0
cat >&2 <<EOF
🔍 [BurningTimes C35 pm-auditor 의무 호출 영역 감지]
감지 영역: ${OBLIGATION%, }
의무 (C35-1 의무 호출 7종):
본 작업이 위 영역에 해당. pm-auditor 사전 호출 의무.
확인:
- 본 응답 작성 전 pm-auditor Task 호출 진행했는가?
- 미호출 시 → 자진 고지 + 소급 호출 + 결과 반영 (C35-5)
호출 제외 영역 (C35-3):
- 단순 Q&A·읽기 전용·현황 단순 조회
- PD 명시 긴급 지시 (사후 호출 의무)
근거: BurningTimes C35-1·C35-5 · 매니페스트 SOT 통합
EOF
exit 0