Phase 2 requirement: moved AI summary generation to async background queue, resolving performance and timeout issues.