All checks were successful
Build and Push Docker Image / build (push) Successful in 8m42s
Instead of 10 sequential GPT calls (which timeout with GPT-5.1 on 99 projects), use a two-phase approach: Phase 1 - AI Scoring: ONE API call asks GPT to score each juror's affinity for all projects, returning a compact preference matrix with expertise match scores and reasoning. Phase 2 - Algorithm: Uses AI scores as the preference input to a balanced assignment algorithm that assigns N reviewers per project, enforcing even workload distribution, respecting per-juror caps, and filling coverage gaps. Benefits: - Single API call eliminates timeout issues - AI provides expertise-aware scoring, algorithm ensures balance - Truncated response handling (JSON repair) for resilience - Falls back to tag-based algorithm if AI fails Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>