#!/usr/bin/env bash # Flip fast-gate TCR to --strict when calendar + readiness allow. # Usage: bash scripts/butler-tcr-strict-apply.sh [--dry-run] # Runbook: docs/guides/tcr-strict-flip-runbook-2026-07.md set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$ROOT" export PYTHONPATH=. DRY_RUN=0 for arg in "$@"; do case "$arg" in --dry-run) DRY_RUN=1 ;; -h|--help) echo "Usage: $(basename "$0") [--dry-run]" echo "Requires tcr-strict-readiness status=ready (see butler-tcr-strict-readiness.sh)." exit 0 ;; esac done READINESS_JSON="$ROOT/.butler/reports/tcr-strict-readiness.json" FAST_GATE="$ROOT/scripts/butler-pytest-fast-gate.sh" echo "== TCR strict apply ==" if ! bash "$ROOT/scripts/butler-tcr-strict-readiness.sh" >/tmp/tcr-readiness.log 2>&1; then cat /tmp/tcr-readiness.log echo "TCR strict apply: BLOCKED (readiness failed)" exit 1 fi cat /tmp/tcr-readiness.log status="$(python - <