#!/usr/bin/env bash
# PreToolUse(Edit|Write) — shared/ui(shadcn 원본) 수정 1회 확인 (deny-once).
# 즉흥 변형으로 디자인 시스템이 파편화되는 걸 막는다. 정당한 변경(테마 배선,
# 버그 수정)은 재시도로 통과.

set -u
input=$(cat 2>/dev/null || true)
fp=$(printf '%s' "$input" | node "$(dirname "$0")/read-json-field.mjs" tool_input.file_path 2>/dev/null || true)
[ -n "$fp" ] || exit 0

case "$fp" in
  */src/shared/ui/*) ;;
  *) exit 0 ;;
esac

gitdir=$(git rev-parse --git-dir 2>/dev/null) || exit 0
markerdir="$gitdir/harness-guards"
mkdir -p "$markerdir" 2>/dev/null || exit 0
marker="$markerdir/dsg-$(printf '%s' "$fp" | cksum | cut -d' ' -f1)"

if [ -f "$marker" ]; then
  rm -f "$marker" 2>/dev/null
  exit 0
fi

touch "$marker" 2>/dev/null || exit 0
printf '{"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"deny","permissionDecisionReason":"shared/ui는 shadcn 원본(닫힌 디자인 시스템)입니다. 화면 사정으로 원본을 변형하지 마세요 — 스타일 차이는 사용처에서 className/variant로, 새 변형이 필요하면 variant 추가가 정석입니다. 정당한 DS 변경(테마 배선·버그 수정)이 맞다면 같은 파일로 다시 시도하면 통과됩니다."}}\n'
exit 0
