Engineering Gap
While Prisma schema has @@index declarations, several frequently joined columns may lack dedicated indexes for common query patterns: VerificationRequest.reviewedBy, SessionSubmission.sessionId with deletedAt, Claim.campaignId with status.
Codebase Evidence
app/backend/prisma/schema.prisma: Indexes defined but need audit against actual query patterns
app/backend/src/claims/claims.service.ts: Queries by campaignId + status
Risk Profile
Slow queries under load. Sequential scans on large tables.
Remediation Strategy
Audit top 10 most frequent Prisma queries. Run EXPLAIN to identify missing indexes. Add compound indexes for common filter combinations.
Success Conditions
Change Surface
File: app/backend/prisma/schema.prisma
Security Review
No security impact.
Completion Checklist
Engineering Gap
While Prisma schema has
@@indexdeclarations, several frequently joined columns may lack dedicated indexes for common query patterns:VerificationRequest.reviewedBy,SessionSubmission.sessionIdwithdeletedAt,Claim.campaignIdwithstatus.Codebase Evidence
app/backend/prisma/schema.prisma: Indexes defined but need audit against actual query patternsapp/backend/src/claims/claims.service.ts: Queries by campaignId + statusRisk Profile
Slow queries under load. Sequential scans on large tables.
Remediation Strategy
Audit top 10 most frequent Prisma queries. Run EXPLAIN to identify missing indexes. Add compound indexes for common filter combinations.
Success Conditions
Change Surface
File:
app/backend/prisma/schema.prismaSecurity Review
No security impact.
Completion Checklist