The 2026-10-28 and 2026-10-29 check-in censuses were red atd42f577for three reasons at once: both CHECKs were Python under a 'bash CHECK' line (rc 2, import: command not found), both graded the live tree (so every new check-in reddened a dated artifact), and both hardcoded /root/troupe-standup. The 10-28 table also carried a 101st row for checkins/2026-10-27-sentinel.md, a file in no revision. - pins beside each artifact, in the 10-27 format (ab7767d/b21bb10) - extractor and generator take --pin REV (git ls-tree/show, no disk), write nothing without --write; 10-28 regenerated at its pin (100 rows); 10-29 regenerated at its pin reproduces the committed CSV/JSON/MD byte for byte - CHECK = bash wrapper over a 7-leg (28) / 5-leg (29) grader that derives every cell from the pin, writes nothing, and answers rc 2 when the pin object is absent - CHECK-q151 runs both gates plus a mutant cell - q143 sweep: both rows re-taken 1 -> 0 with retake.py, CHECK-q151 added; q137 open-set pin moved with the record
27 lines
977 B
Bash
Executable File
27 lines
977 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# CHECK -- gate for the 2026-10-28 check-in census.
|
|
#
|
|
# `bash CHECK` runs the grader, and so does `./CHECK`. The grade itself lives in
|
|
# grade.py because this artifact publishes character counts of a UTF-8 slice and
|
|
# awk measures bytes; this wrapper exists so the documented invocation is the one
|
|
# that actually runs. The previous revision was a Python file under a
|
|
# `bash CHECK` line, so it exited 2 on `import: command not found` without
|
|
# grading anything, and its own leg ran the extractor over the live directory and
|
|
# rewrote the committed tables in place.
|
|
#
|
|
# Exit codes: 0 every leg passed; 1 a fault; 2 cannot grade (no python3 or git).
|
|
set -u
|
|
|
|
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
if ! command -v python3 >/dev/null 2>&1; then
|
|
printf 'CANNOT GRADE: python3 not on PATH\n' >&2
|
|
exit 2
|
|
fi
|
|
if ! command -v git >/dev/null 2>&1; then
|
|
printf 'CANNOT GRADE: git not on PATH\n' >&2
|
|
exit 2
|
|
fi
|
|
|
|
exec python3 "$HERE/grade.py" "$@"
|