Ctrl K
ComunidadGuías…

scripts/butler-extension-ext5-verify.sh

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

Archivo original ↗Preguntar a KiBot
#!/usr/bin/env bash
# EXT-5 Verify: preflight + extension cache + MCP connect + handler sim (no iLink).
#
# Usage:
#   bash scripts/butler-extension-ext5-verify.sh           # full
#   bash scripts/butler-extension-ext5-verify.sh --quick   # skip slow conversion sim
#
# After this passes, complete 真机 phrases in docs/guides/ext5-wechat-verify-2026-06.md
set -euo pipefail

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

# shellcheck source=scripts/lib/butler-source-env.sh
source "$ROOT/scripts/lib/butler-source-env.sh"
butler_source_env "$ROOT/.env" 2>/dev/null || true

export BUTLER_MCP_MAX_SERVERS="${BUTLER_MCP_MAX_SERVERS:-4}"

QUICK=0
for arg in "$@"; do
  case "$arg" in
    --quick) QUICK=1 ;;
  esac
done

echo "=== EXT-5 Verify (automated) ==="
echo "BUTLER_MCP_MAX_SERVERS=${BUTLER_MCP_MAX_SERVERS}"

bash "$ROOT/scripts/butler-extension-ext5-preflight.sh"
bash "$ROOT/scripts/butler-extension-verify.sh" markitdown-ingest
bash "$ROOT/scripts/butler-extension-ext5-gate.sh"

echo ""
echo "=== MCP status (markitdown must be [ok]) ==="
python3 - <<'PY'
import sys
from butler.mcp.registry_hook import mcp_status_lines

lines = mcp_status_lines("ext5-verify")
for line in lines:
    print(line)
md = [l for l in lines if "markitdown" in l.lower()]
if not any("[ok]" in l for l in md):
    print("FAIL: markitdown MCP not connected", file=sys.stderr)
    raise SystemExit(1)
print("markitdown MCP: ok")
PY

if [[ "$QUICK" -eq 1 ]]; then
  bash "$ROOT/scripts/butler-extension-ext5-wechat-sim.sh" --quick
else
  bash "$ROOT/scripts/butler-extension-ext5-wechat-sim.sh"
fi

echo ""
echo "EXT-5 VERIFY (automated): PASS"
echo "真机:微信发 manifest verify_phrases — 见 docs/guides/ext5-wechat-verify-2026-06.md"