Data model supports all PRD requirements
Why it matters
When your data model does not cover entities the PRD requires, features that depend on that data silently degrade or fail at runtime. A missing join table for team membership means multi-user collaboration can never persist correctly. A missing audit_results relation means you cannot display scores — the kind of gap that surfaces only after launch, when fixing it requires a migration, a data backfill, and coordinated API changes. ISO 25010:2011 functional suitability defines this as a core quality dimension: software must fulfill its stated functional requirements. Any entity absent from the schema is a hard blocker, not a soft deficiency.
Severity rationale
High because missing schema entities block entire feature areas from functioning, requiring migrations and coordinated changes to fix after data has been written.
Remediation
Add the missing entities and relationships directly to your schema file. In Prisma, that means defining the model and its relations, then running prisma migrate dev:
// prisma/schema.prisma
model Team {
id String @id @default(cuid())
name String
members TeamMember[]
projects Project[]
}
model TeamMember {
teamId String
userId String
role String
team Team @relation(fields: [teamId], references: [id])
@@id([teamId, userId])
}
After migrating, update your RLS policies and permission checks in src/lib/auth/ to account for the new ownership model.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Goal Alignment Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · functional-suitability.functional-completeness — Functional Suitability — Functional Completeness
Taxons
History
- 2026-04-18·v1.0.0·Initial import from goal-alignment·automated