Maity: Board

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:

  1. hub test_per_human_tables.py
  2. make -C web shapes
  3. make -C web fixtures
  4. make -C web check
  5. 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.