Summary

What this PR does, in one or two sentences.

  • Closes # (issue number)
  • Bead(s): school-core-xxxx

Testing

  • python -m pytest -q -m "not live" passes
  • python -m compileall -q -x "school-output" . passes
  • ruff check (core modules) passes
  • python scripts/sanitize_data.py --verify passes (if data/ touched)

Notes for reviewers

Anything non-obvious: environment needs, privacy implications, off-suite paths exercised.

Built with LogoFlowershow