scripts/builtin-tool-orthogonality-lint.sh
Rama main · réplica de lectura del repositorio original.
#!/usr/bin/env bash
# Warn when builtin tool descriptions overlap within the same toolset.
# --warn-only print issues but exit 0 (pre-release smoke)
set -euo pipefail
WARN_ONLY=0
if [[ "${1:-}" == "--warn-only" ]]; then
WARN_ONLY=1
fi
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT"
export PYTHONPATH="${PYTHONPATH:-.}:."
PY="${PYTHONPATH:+}${PYTHONPATH:+.}python3"
if [[ -x /home/ailearn/miniconda3/bin/python3 ]]; then
PY=/home/ailearn/miniconda3/bin/python3
fi
WARN_ONLY="$WARN_ONLY" "$PY" - <<'PY'
import os
import sys
from butler.tools.orthogonality_lint import format_orthogonality_report, lint_builtin_tool_orthogonality
issues = lint_builtin_tool_orthogonality()
print(format_orthogonality_report(issues))
skipped = bool(issues and issues[0].startswith("orthogonality lint skipped"))
warn_only = os.environ.get("WARN_ONLY", "0") == "1"
if issues and not skipped:
if warn_only:
print(f"orthogonality lint: {len(issues)} warning(s) (warn-only, non-blocking)")
sys.exit(0)
sys.exit(1)
PY