#!/bin/bash
# PreToolUse Hook: Write 전 파일 크기 급감 경고
# 기존 파일 대비 50% 이상 줄어들면 경고 (최소 50줄 이상 파일만)

INPUT=$(cat)
FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')
NEW_CONTENT=$(echo "$INPUT" | jq -r '.tool_input.content // empty')

# 파일이 없으면 (신규 생성) 통과
if [ ! -f "$FILE_PATH" ]; then
  exit 0
fi

EXISTING_LINES=$(wc -l < "$FILE_PATH" 2>/dev/null | tr -d ' ')
NEW_LINES=$(echo "$NEW_CONTENT" | wc -l | tr -d ' ')

# 기존 파일이 50줄 미만이면 체크 스킵
if [ "$EXISTING_LINES" -lt 50 ] 2>/dev/null; then
  exit 0
fi

# 새 내용이 기존의 50% 미만이면 경고
THRESHOLD=$((EXISTING_LINES / 2))
if [ "$NEW_LINES" -lt "$THRESHOLD" ] 2>/dev/null; then
  echo "⚠️ File size drop: $FILE_PATH" >&2
  echo "  기존: ${EXISTING_LINES}줄 → 새 내용: ${NEW_LINES}줄 (${THRESHOLD}줄 미만)" >&2
  echo "  파일 내용이 절반 이상 줄었습니다. 의도한 변경인지 확인하세요." >&2
  exit 2
fi

exit 0
