Skip to main content

Core user flows match PRD specifications

ab-001541 · goal-alignment.feature-completeness.core-user-flows-match
Severity: criticalactive

Why it matters

When the core journeys your PRD promises do not exist as connected sequences of routes, components, and API handlers, users hit dead ends mid-flow: an onboarding that never reaches the dashboard, a checkout that cannot finalize, a sign-up that drops the user into a blank screen. This is the most direct form of product failure. It drives immediate refund requests, churn spikes, and one-star reviews, and it erodes trust in the product's core value proposition. From a user-experience perspective, broken core flows rank above every other severity class because they block the primary job-to-be-done the product exists to serve.

Severity rationale

Critical because a missing or broken core user flow blocks the product's primary job-to-be-done and prevents any user from completing the journey the PRD promised.

Remediation

Open the PRD alongside your routing tree (src/app/ for Next.js App Router or pages/ for Pages Router) and map each described journey to its routes, components, and API handlers. For every missing step, scaffold the route and wire navigation between adjacent steps:

// src/app/onboarding/payment/page.tsx
import { redirect } from 'next/navigation';
export default function PaymentStep() {
  return <PaymentForm onComplete={() => redirect('/dashboard')} />;
}

Remove any TODO stubs and confirm each flow is navigable end-to-end before shipping.

Detection

  • ID: goal-alignment.feature-completeness.core-user-flows-match
  • Severity: critical
  • What to look for: Enumerate every relevant item. Identify the primary user journeys described in the PRD (e.g., sign up, onboard, complete primary action, view results). For each, trace the corresponding route files and component tree in the codebase. Verify that the journey exists as a navigable, connected sequence of pages and actions.
  • Pass criteria: At least 1 of the following conditions is met. Every core user flow described in the PRD maps to a connected sequence of existing routes, components, and API handlers. Minor implementation differences in how the flow is presented (different UI layout, different step order) are acceptable as long as the flow achieves the same goal. Before evaluating, extract and quote the relevant configuration or code patterns found. Report the count of items checked even on pass.
  • Fail criteria: One or more core user flows from the PRD have no corresponding implementation, are broken (routes exist but key steps missing), or lead to dead ends (routes exist but required API calls or data aren't implemented).
  • Do NOT pass when: The item exists only as a placeholder, stub, or TODO comment — partial implementation does not count as passing.
  • Skip (N/A) when: The PRD contains no user flows or journey descriptions — it is purely a technical specification with no end-user interactions defined.
  • Detail on fail: Name the specific flow(s) that are missing or broken. Example: "PRD defines an onboarding flow (profile setup → payment → dashboard) but no /onboarding route exists. Payment step also missing." Max 500 chars.
  • Remediation: Your users cannot complete the journeys your product promised. Identify the missing routes and components by comparing the PRD flow description against your actual routing structure in src/app/ or pages/. For each missing step in a flow, create the necessary route and connect it to the adjacent steps with navigation logic.
  • Cross-reference: For a deeper analysis of deployment readiness before you ship these flows, the Pre-Launch Checklist audit covers this in detail.

Taxons

History