#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" cd "$ROOT_DIR" TMP_DIR="$(mktemp -d)" trap 'rm -rf "$TMP_DIR"' EXIT BAD_FILE="$TMP_DIR/phase6.txt" cat > "$BAD_FILE" <<'EOF' [PASS] importer_smoke_gate_result=PASS 新增导入器 smoke gate 通过 [FAIL] live_run_result=FAIL 主链路真实采集失败 ROOT_CAUSE class=primary_pipeline_failure source=live_run summary=主链路真实采集失败 EOF set +e bash scripts/review/global_blocker_switch_guard.sh "$BAD_FILE" >/tmp/global_blocker_bad.out 2>&1 BAD_RC=$? set -e [[ "$BAD_RC" -ne 0 ]] grep -q 'missing global blocker switch hint' /tmp/global_blocker_bad.out GOOD_FILE="$TMP_DIR/phase6-good.txt" cat > "$GOOD_FILE" <<'EOF' [PASS] importer_smoke_gate_result=PASS 新增导入器 smoke gate 通过 [FAIL] live_run_result=FAIL 主链路真实采集失败 ROOT_CAUSE class=primary_pipeline_failure source=live_run summary=主链路真实采集失败 BLOCKER_SWITCH class=global-blocker-shift old=importer_smoke_gate new=live_run EOF bash scripts/review/global_blocker_switch_guard.sh "$GOOD_FILE" >/tmp/global_blocker_good.out 2>&1 grep -q 'GLOBAL_BLOCKER_SWITCH_GUARD: PASS' /tmp/global_blocker_good.out