Ctrl K
ComunidadGuías…

scripts/butler-phase4-smoke.sh

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/usr/bin/env bash
# Phase 4 gate — 轨道 A(运营巩固)+ 轨道 B(灵文样板)自动化守门。
#
# Usage:
#   bash scripts/butler-phase4-smoke.sh
#   bash scripts/butler-phase4-smoke.sh --with-consistency   # A1: 跑 consistency-weekly(慢)
#   bash scripts/butler-phase4-smoke.sh --tier=full          # 发版级(等同 pre-release)
set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT"

WITH_CONSISTENCY=0
TIER="standard"

while [[ $# -gt 0 ]]; do
  case "$1" in
    --with-consistency) WITH_CONSISTENCY=1 ;;
    --tier=*) TIER="${1#--tier=}" ;;
    -h|--help)
      echo "Usage: $0 [--with-consistency] [--tier=standard|full]"
      exit 0
      ;;
    *) echo "Unknown: $1" >&2; exit 1 ;;
  esac
  shift
done

if [[ -f .env ]]; then
  set -a
  # shellcheck disable=SC1091
  source .env 2>/dev/null || true
  set +a
fi
export PYTHONPATH="${PYTHONPATH:-.}:."

echo "=== Phase 4 smoke (tier=$TIER) ==="
echo ""

echo "== [A4/B2] tiered smoke =="
if [[ "$TIER" == "full" ]]; then
  bash "$ROOT/scripts/butler-pre-release-smoke.sh"
else
  bash "$ROOT/scripts/butler-smoke.sh" --tier="$TIER"
fi

echo ""
echo "== [B1/B3] LingWen Lead smoke =="
bash "$ROOT/scripts/butler-lingwen-lead-smoke.sh"

echo ""
echo "== [A3/B3] Runtime smoke (mutating approval gate) =="
if [[ "$WITH_CONSISTENCY" -eq 1 ]]; then
  BUTLER_RUNTIME_RUN_CONSISTENCY=1 bash "$ROOT/scripts/butler-runtime-smoke.sh" 灵文1号
else
  bash "$ROOT/scripts/butler-runtime-smoke.sh" 灵文1号
fi

echo ""
echo "== [A2] Inbound media code path =="
bash "$ROOT/scripts/butler-inbound-media-smoke.sh"

echo ""
echo "== [O-track] Observability regression =="
bash "$ROOT/scripts/butler-eval-regression.sh" --no-langfuse

echo ""
echo "== [A6] Doctor observability =="
python3 -m butler.main doctor 2>&1 | rg -i "langfuse|embed|Recall|CRITICAL" || true

echo ""
echo "Phase 4 automated gate: PASSED"
echo "真机待办: A1 consistency-weekly 微信摘要、A2 M-img/M-voice、A5 /成本 对照账单"
echo "详见 docs/guides/phase4-ops-runbook.md"