๐Ÿ— KeyzHub
19Keys ยท community archive
2360 bytes raw
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/env bash
# init.sh โ€” verification gate for the crm-automator master.
# The agent MUST run this before claiming any feature is done.
# THE ANTI-THEATER GATE: runs verify_crm_automation.py against every sample in
# samples/good/* (must PASS, exit 0) and samples/bad/* (must FAIL, nonzero).
# If the gate passes a bad sample or fails a good one, this script exits
# nonzero โ€” proving the linter actually catches bullshit, not just prints green.
set -euo pipefail

ROOT="$(cd "$(dirname "$0")" && pwd)"
cd "$ROOT"

echo "== crm-automation harness :: verifying gate =="

# --- toolchain check -------------------------------------------------------
if ! command -v python3 >/dev/null 2>&1; then
  echo "FAIL: python3 not found on PATH" >&2
  exit 1
fi

LINTER="verify_crm_automation.py"
if [ ! -f "$LINTER" ]; then
  echo "FAIL: $LINTER not found at repo root" >&2
  exit 1
fi

GOOD_DIR="samples/good"
BAD_DIR="samples/bad"

if [ ! -d "$GOOD_DIR" ] || [ -z "$(ls -A "$GOOD_DIR" 2>/dev/null)" ]; then
  echo "FAIL: $GOOD_DIR is missing or empty โ€” need at least one known-excellent sample" >&2
  exit 1
fi
if [ ! -d "$BAD_DIR" ] || [ -z "$(ls -A "$BAD_DIR" 2>/dev/null)" ]; then
  echo "FAIL: $BAD_DIR is missing or empty โ€” need at least one deliberately-broken sample" >&2
  exit 1
fi

GATE_OK=1

echo
echo "-- good samples: every file MUST pass (exit 0) --"
for f in "$GOOD_DIR"/*; do
  [ -f "$f" ] || continue
  if python3 "$LINTER" "$f"; then
    echo "  OK   : $f passed as expected"
  else
    echo "  FAIL : $f was rejected but is supposed to be EXCELLENT โ€” the gate is too strict or the sample regressed" >&2
    GATE_OK=0
  fi
  echo
done

echo "-- bad samples: every file MUST fail (nonzero exit) --"
for f in "$BAD_DIR"/*; do
  [ -f "$f" ] || continue
  if python3 "$LINTER" "$f"; then
    echo "  FAIL : $f PASSED but is supposed to be BROKEN โ€” the gate does not catch bullshit" >&2
    GATE_OK=0
  else
    echo "  OK   : $f was rejected as expected"
  fi
  echo
done

if [ "$GATE_OK" -ne 1 ]; then
  echo "FAIL: anti-theater gate failed โ€” the linter does not reliably separate good from bad. Fix the linter or the samples before trusting any 'done' claim." >&2
  exit 1
fi

echo "PASS: anti-theater gate holds โ€” every good sample passed, every bad sample failed."
echo
echo "== crm-automation harness :: gate green =="
exit 0