49 lines
1.7 KiB
Bash
49 lines
1.7 KiB
Bash
#!/bin/bash
|
|
# fact_first_check.sh — BurningTimes BT10 C44 팩트 우선주의 hook
|
|
# 2026-04-24 PD 직접 승인 신설
|
|
# PostToolUse (Edit/Write/MultiEdit) — 모호 표현 감지 + WebSearch 이력 교차 환기
|
|
# 토큰 비용: 0 (stdin grep)
|
|
|
|
INPUT=$(cat 2>/dev/null)
|
|
BODY=$(echo "$INPUT" | grep -oE '"(new_string|content)"[[:space:]]*:[[:space:]]*"[^"]*"' | head -3)
|
|
[ -z "$BODY" ] && exit 0
|
|
|
|
HIT_LIST=""
|
|
|
|
# 그룹 1 — 모호 표현
|
|
if echo "$BODY" | grep -qE '(추정컨대|아마도|대략|아마[[:space:]]|대충|정확한[[:space:]]*수치[[:space:]]*모름|정확히는[[:space:]]*모름|~라고[[:space:]]*알고[[:space:]]*있)'; then
|
|
HIT_LIST="${HIT_LIST}모호 표현, "
|
|
fi
|
|
|
|
# 그룹 2 — 확정 단언 공존 (모순 신호)
|
|
if echo "$BODY" | grep -qE '(반드시|틀림없이|확실히|분명히)' && [ -n "$HIT_LIST" ]; then
|
|
HIT_LIST="${HIT_LIST}확정 단언 모순, "
|
|
fi
|
|
|
|
[ -z "$HIT_LIST" ] && exit 0
|
|
|
|
# WebSearch 이력 mtime 체크 (10분 윈도우)
|
|
VERIFY_LOG="$HOME/.claude/.burningtimes_fact_check/websearch.log"
|
|
mkdir -p "$(dirname "$VERIFY_LOG")" 2>/dev/null
|
|
LAST_SEARCH=0
|
|
[ -f "$VERIFY_LOG" ] && LAST_SEARCH=$(stat -c %Y "$VERIFY_LOG" 2>/dev/null || stat -f %m "$VERIFY_LOG" 2>/dev/null || echo 0)
|
|
NOW=$(date +%s)
|
|
ELAPSED=$((NOW - LAST_SEARCH))
|
|
|
|
cat >&2 <<EOF
|
|
|
|
⚠️ [BurningTimes C44 팩트 우선주의 감지]
|
|
감지 키워드: ${HIT_LIST%, }
|
|
직전 WebSearch 이력: ${ELAPSED}초 전 (윈도우 600초)
|
|
|
|
의무:
|
|
- 모호 정보 감지 시 WebSearch 즉시 수행
|
|
- 팩트 의심 시 유보적 태도 유지
|
|
- 확정적 언사 사용 전 실측 확증
|
|
|
|
허용 예외: 완곡 표현·가정적 진술·미확인 태그 부착
|
|
근거: BurningTimes C44 · c9_2_block 동형
|
|
|
|
EOF
|
|
exit 0
|