#!/usr/bin/env bash
# dartlab pre-push hook — push 전 CI Fast 차단 게이트 (12) 로컬 통과 강제.
#
# 활성화: bash tests/installHooks.sh (한 번 실행).
# 비활성화: git config --unset core.hooksPath  또는  DARTLAB_SKIP_PREPUSH=1 git push.
#
# CI Fast 와 동일 명령 SSOT = tests/run.py GATES dict.
# Push 전 로컬에서 같은 명령으로 검증 → 깨진 master 차단.

set -e

if [ "${DARTLAB_SKIP_PREPUSH:-0}" = "1" ]; then
    echo "[pre-push] DARTLAB_SKIP_PREPUSH=1 — preflight 건너뜀"
    exit 0
fi

REPO_ROOT="$(git rev-parse --show-toplevel)"
cd "$REPO_ROOT"

echo "[pre-push] tests/run.py preflight 실행 — CI Fast 차단 12 게이트 로컬 통과 확인"
echo "[pre-push] 건너뛰려면: DARTLAB_SKIP_PREPUSH=1 git push"

if command -v uv >/dev/null 2>&1; then
    uv run python -X utf8 tests/run.py preflight
else
    python -X utf8 tests/run.py preflight
fi
