SIGN IN SIGN UP

fix: secure all Convex mutations against direct client access

Convert all mutations to internalMutation + secret-gated action wrappers.
Route client-side calls through authenticated Next.js API routes instead
of calling Convex directly. Caps exploitBonus, validates solvedProblemIds
against session, prevents attempts-griefing, adds session rate limiting.

Co-authored-by: Cursor <cursoragent@cursor.com>
C
Caleb Peffer committed
5377824d97d5aa60ea718c2a8ac1dd7af2d03bff
Parent: ae16612