- paid_records (History tab) now prefetches work_logs + adjustments:
the template shows a day-count and loops adjustments per row, which
fired 2 queries per visible record (~100 on a long history).
- batch_pay_preview replaces the per-worker get_worker_active_team()
call (worker.teams.filter(...).first() — bypasses prefetch, 1 query
per worker) with the same batched membership-dict pattern
payroll_dashboard already uses, and reads the unpaid-adjustments
check from the existing filtered prefetch instead of .exists().
Also includes (committed earlier in 25910b2 but noting for the record):
the /report/ worker-breakdown loop's per-worker-per-type aggregates
were replaced by one GROUP BY dict (audit fix#7).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>