#!/usr/bin/env bash # CHECK-q152 -- the 2026-11-01 posts census graded offline against its own # snapshot, a mutant that proves the green is not the only thing it can print, # and the scoped sweep that signs the entry point. # # WHAT WAS WRONG (measured at 76471ad, before this tick's edits) # `wizard-work/ledger/CHECK-2026-11-01-posts-census` was a Python program # under a `bash` invocation, so the documented run exited 2 on shell syntax # before grading a cell; the artifact directory was the literal host path; the # check re-derived from the live JSONPlaceholder API on every run; and the # rc 2 it documented was unreachable code. # # WHAT THIS GRADES # 1. the committed snapshot, offline: JSON self-consistency, CSV and MD # byte-identical re-renderings of it (rc 0, verdict names the population); # 2. a mutant of that snapshot in a COPY: one CSV cell moved must read rc 1, # so the green above is a measurement and not a print; # 3. `check_sweep.py --only --check` -> rc 0, the row the # baseline signs (the scoped run grades only what it swept; before Q152's # repair it graded 110 unswept rows as MISSING); # 4. `check_sweep.py --selftest` -> 23 cells, 0 failed. # # --live is deliberately NOT a leg: it reaches JSONPlaceholder, and a gate # that depends on the network's mood is not a gate. # # rc 0 every leg holds rc 1 a leg failed rc 2 could not grade set -u ROOT="$(git -C "$(dirname "$0")" rev-parse --show-toplevel 2>/dev/null)" || exit 2 [ -n "$ROOT" ] || exit 2 cd "$ROOT" || exit 2 ENTRY=wizard-work/ledger/CHECK-2026-11-01-posts-census SWEEP=wizard-work/volt/q143-check-sweep/check_sweep.py [ -f "$ENTRY" ] && [ -f "$SWEEP" ] || { echo "CANNOT GRADE: entry point or sweep missing"; exit 2; } legs=0 faults=0 leg() { # leg legs=$((legs + 1)) if [ "$2" -eq 0 ]; then printf 'PASS %-22s %s\n' "$1" "$3" else printf 'FAIL %-22s %s\n' "$1" "$3"; faults=$((faults + 1)); fi } out="$(bash "$ENTRY" 2>&1)"; rc=$? leg snapshot "$rc" "$(printf '%s' "$out" | grep -m1 -E '^(VERDICT|FAIL|CANNOT)')" tmp="$(mktemp -d "${TMPDIR:-/tmp}/q152-mut-XXXX")" || exit 2 trap 'rm -rf "$tmp"' EXIT mkdir -p "$tmp/census" || exit 2 cp "$ENTRY" "$tmp/census/CHECK" && cp wizard-work/ledger/grade_posts_census.py "$tmp/census/" \ && cp wizard-work/ledger/2026-11-01-posts-census.json \ wizard-work/ledger/2026-11-01-posts-census.csv \ wizard-work/ledger/2026-11-01-posts-census.md "$tmp/census/" \ || { echo "CANNOT GRADE: cannot stage the mutant"; exit 2; } sed -i '2s/,10$/,99/' "$tmp/census/2026-11-01-posts-census.csv" mout="$(bash "$tmp/census/CHECK" 2>&1)"; mrc=$? if [ "$mrc" -eq 1 ] && printf '%s' "$mout" | grep -q '^FAIL'; then leg mutant 0 "a moved CSV cell reads rc 1: $(printf '%s' "$mout" | grep -m1 '^FAIL')" else leg mutant 1 "mutant did not red the snapshot (rc=$mrc)" fi out="$(python3 "$SWEEP" --repo "$ROOT" --only "$ENTRY" --check 2>&1)"; rc=$? leg sweep-scoped "$rc" "$(printf '%s' "$out" | grep -m1 '^check-sweep:')" out="$(python3 "$SWEEP" --selftest 2>&1)"; rc=$? leg sweep-selftest "$rc" "$(printf '%s' "$out" | grep -m1 '^selftest:')" if [ "$faults" -eq 0 ]; then echo "q152: $legs leg(s), all passed" exit 0 fi echo "q152: $legs leg(s), $faults fault(s)" exit 1