Validation: Sponsor blast endpoint + pitch engine (#325)

validation-325-2026-04-06 Doc

validation pass

Ticket

basketball-api#325 — Board item #770. Blast endpoint with pitch engine and rate limiting.

Environment

Prod: basketball-api pod in k8s namespace basketball-api. Gmail OAuth via westsidebasktball@gmail.com. Verified 2026-04-06.

Checks

# Criterion How to Verify Result Evidence
1 Test email sends to draneylucas@gmail.com blast_sponsors(test_email=...) PASS "sent: 1, failed: 0" — received on phone, Westside branding confirmed
2 Test email to Marcus for approval blast_sponsors(test_email=marcusdraney23@gmail.com) PASS "sent: 1, failed: 0" — Marcus approved in GroupMe
3 Full blast sends to all prospects blast_sponsors() with no test_email PASS "Sent: 44, Failed: 0" — all 44 sponsors emailed
4 Status updated to contacted DB query after blast PASS All 44 sponsors moved from prospect to contacted
5 Universal pitch content correct get_pitch() preview PASS Nonprofit + EIN + 150K IG views pitch confirmed
6 Template includes website + IG links Grep compiled HTML PASS westsidekingsandqueens.tail5b443a.ts.net and @westsidekingsandqueens present
7 Real sponsor responded Gmail inbox check PASS Raising Cane's (Chloe Greep) responded within 24 hours

Verdict

PASS — 44 emails sent in prod, 23 delivered, 1 response received (Raising Cane's). Full pipeline validated end-to-end.