Parent
#1123 — build spec 3 of the Prisma 8 architecture spec. Lands on the prisma-8 integration branch, not main.
What to build
.where() and .orderBy() accept the closed Where vocabulary — equals, not, in, notIn, lt, lte, gt, gte, contains; AND/OR/NOT; some/every/none on any relation — lowered onto Prisma's lambda in one place, total or throwing including under sudo; contains is engine-escaped and case-insensitive; equals: null lowers to IS NULL; a relation predicate ANDs the related list's query access inside the EXISTS, denied meaning empty; orderBy is scalar-only. The filter module's condition type becomes a vocabulary value, query validation gains the operator check, and the count-filter marker, resolvers and label pass-through are deleted.
Acceptance criteria
Blocked by
Generated by Claude Code
Parent
#1123 — build spec 3 of the Prisma 8 architecture spec. Lands on the
prisma-8integration branch, notmain.What to build
.where()and.orderBy()accept the closed Where vocabulary —equals,not,in,notIn,lt,lte,gt,gte,contains;AND/OR/NOT;some/every/noneon any relation — lowered onto Prisma's lambda in one place, total or throwing including undersudo;containsis engine-escaped and case-insensitive;equals: nulllowers toIS NULL; a relation predicate ANDs the related list'squeryaccess inside theEXISTS, denied meaning empty;orderByis scalar-only. The filter module's condition type becomes a vocabulary value, query validation gains the operator check, and the count-filter marker, resolvers and label pass-through are deleted.Acceptance criteria
contains: '50%'matches a literal percent signsudotoosomeover a related list the session cannot query is false;none/everytrueBlocked by
Generated by Claude Code