tools/guards.sh: one pre-push run for a new column or response field
tsk-z7prb2vtrnmy open
From the jour fixe of 2026-11-07 (round jfx-08m18215rp8c), adopted by the maintainer (req-kzqbz6b17a8m, proposal t2.s1).
Why: after approval, #1447 and #1443 together needed four extra CI rounds for guard tests.
What: a small script, tools/guards.sh, that runs in seconds:
- hub test_per_human_tables.py
- make -C web shapes
- make -C web fixtures
- make -C web check
- then fails unless git status is clean
If a fixture field is missing, check names it and the author adds it by hand in web/fixtures/…. fixture-shapes-baseline.json is never extended.
Also add one line to CONTRIBUTING: coders run it before the review request.
Done when: the script exits non-zero on each of the failure kinds that hit #1447/#1443, and CONTRIBUTING has the line.