#!/usr/bin/env bash
# 直改车道闸（git pre-commit，2026-10-30 本地 CI 化换代）——提交点现场跑文档域闸
# （tools/run_all_gates.sh --docs，秒级文本扫描）：绿＝落地，红＝中止。
# 代码面提交不再拦（2026-10-30 用户裁：主区直改全面放开）——代码验证归合回后的本地 CI
# （tools/hooks/post-merge 全量跑批；CI 红态下 tools/hooks/post-commit 追绿复验）。
# 合并收尾提交跳过（MERGE_HEAD 在＝冲突合并的收尾 commit）——内容归合回后的 CI 全量验。
# --no-verify 绕过仅属用户（agent 侧由 worktree-guard 拦截）。
set -u
REPO="$(git rev-parse --show-toplevel)"

# 合并收尾提交：跳过文档闸，交合回后 CI
[ -f "$(git rev-parse --git-dir)/MERGE_HEAD" ] && exit 0

RC=0
bash "$REPO/tools/run_all_gates.sh" --docs || RC=$?
if [ "$RC" -eq 0 ]; then
	exit 0
elif [ "$RC" -eq 1 ]; then
	echo "[直改闸] 文档域闸有新增红，提交已拦。修上方红项后重新 commit，钩子会自动重跑闸；禁跑代码域／游戏类测试，与本次红项无关。" >&2
else
	echo "[直改闸] 闸脚本自身故障（退出码 $RC），不是文档红——把本输出原样呈报用户，勿改文档、勿跑替代测试。" >&2
fi
exit 1
