audit Run 16 Phase 5: Performance
- creator_tiers::check_upload_allowed: the tier and grandfathering lookups
are independent but ran sequentially on the per-upload hot path; run
them concurrently with try_join!.
- get_all_user_emails: was an uncapped full-table scan feeding bulk email;
cap at 50k with a WARN on hit (mirrors get_status_alert_subscribers) so
memory is bounded and a real overflow is visible.
- collections: add defensive LIMITs to the three user-facing list queries
(public collections, collection items, per-item membership dropdown).
Verified stale/already-bounded (no change): every RSS feed query already
carries a LIMIT (50 feed-only / 500 project-scoped); get_all_email_signups
already caps at 500.
Co-Authored-By
Claude Opus 4.8 <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-07-02 13:47 UTC