- enrollFinalists: reject a roundId whose competition belongs to a
different program than input.programId.
- unenroll: reject a project/round pair from different programs before
any delete.
- Hoist ADMIN_CONFIRM attendee validation to a pre-pass so a bad entry
in a multi-team batch fails before any project is partially written.
- Add regression tests for both cross-program guards.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>