Add schema/person.schema.json and scripts/validate_people.py, run via a
pre-commit hook and a GitHub Actions job on pull requests. Checks:
- people/*.json match the schema (keys, types, item shapes)
- every peoplelist.json entry has a file and every file is listed once
- filenames are lowercase alphanumeric (two legacy names grandfathered)
- local image paths exist under images/
- link fields are http(s) with no surrounding whitespace
- text-only fields contain no HTML; maintext stays raw HTML by design
Warns (non-fatal) on gallery items with no title, which the page uses as
alt text. Adds a pip dependabot entry for scripts/requirements.txt.