scripts/butler-phase5-smoke.sh
Rama main · réplica de lectura del repositorio original.
#!/usr/bin/env bash
# Phase 5 gate — O9 B9 + Track C multi-project.
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT"
export PYTHONPATH="${PYTHONPATH:-.}:."
if [[ -f .env ]]; then
set -a
# shellcheck disable=SC1091
source .env 2>/dev/null || true
set +a
fi
echo "=== Phase 5 smoke ==="
echo ""
echo "== [O9] B9 LLM delegate benchmark (oracle) =="
bash "$ROOT/scripts/butler-eval-llm-benchmark.sh"
echo ""
echo "== [C1] project register / git URL tests =="
python3 -m pytest tests/test_phase5_multi_project.py::TestC1ExternalRepo -q --tb=line
echo ""
echo "== [C2-C4] multi-project policy + Lead + templates =="
python3 -m pytest tests/test_phase5_multi_project.py -q --tb=line
echo ""
echo "== [C3] LingWen + Demo Lead smokes =="
bash "$ROOT/scripts/butler-lingwen-lead-smoke.sh"
bash "$ROOT/scripts/butler-demo-lead-smoke.sh"
echo ""
echo "== [O9] phase5 unit tests =="
python3 -m pytest tests/test_phase5_llm_benchmark.py -q --tb=line
echo ""
echo "Phase 5 automated gate: PASSED"
echo "可选: BUTLER_EVAL_LLM_BENCHMARK=1 bash scripts/butler-eval-llm-benchmark.sh"
echo "详见 docs/guides/phase5-multi-project-runbook.md"