Problem
POST /api/demo dereferences a possibly-null insert ((run as {id}).id) with no error check, unlike /api/runs which returns structured 500s. Any DB failure becomes an unhandled TypeError.
Where
app/api/demo/route.ts (insert + id reads).
Acceptance
Add a failing test first with Supabase unavailable asserting /api/demo returns JSON {error: ...} with a 5xx status. Then fix.
Problem
POST /api/demodereferences a possibly-null insert ((run as {id}).id) with no error check, unlike/api/runswhich returns structured 500s. Any DB failure becomes an unhandledTypeError.Where
app/api/demo/route.ts(insert + id reads).Acceptance
Add a failing test first with Supabase unavailable asserting
/api/demoreturns JSON{error: ...}with a 5xx status. Then fix.