Run this quality gate before handing work to the user. Use it with operational-manifesto.md, workflow-contracts.md, and workflow-test-plan.md.
1. Outcome Audit
- Is the outcome type named?
- Is the reuse decision clear: reuse existing, extend existing, create new, or assemble only?
- Are all changed files inside the allowed package, gallery, route, token, docs, or rule boundaries?
- Are required injection points complete: package export, route shell,
libraryNav.ts,personalLoanFlow.ts, Code Connect, or token generated artifacts? - Did the user approve new components, new tokens, route structure, or ambiguous UX states when required?
2. Visual And UX Audit
- For AppFlow work, is the layout constrained to the established centered flow pattern?
- For static pages, does the layout follow the informational gallery pattern instead of AppFlow chrome?
- Are spacing, radius, typography, shadows, and colors mapped to Spring DS tokens?
- Are loading, empty, error, disabled, focus, hover, success, and validation states handled when relevant?
- Does copy support the user goal with a helpful, trustworthy, and direct tone?
3. Technical Audit
- Is the implementation Next.js App Router, React, TypeScript, and Tailwind CSS?
- Are reusable UI imports coming from
@spring/ds-react? - Are route shells thin and gallery implementations kept under
apps/design-library/src/gallery/? - Are Server Components used by default, with
'use client'only for hooks, events, lifecycle, or browser APIs? - Are there no raw hex values, arbitrary spacing strings, or generic non-system style tokens?
- Are production APIs, analytics, database access, and business integrations kept out of gallery and AppFlow preview screens?
4. Validation Audit
- Was
npm run tokens:syncrun when token source changed? - If token source changed, was the dev server restarted or stale preview risk disclosed?
- If token source changed before production build validation, was
apps/design-library/.nextcleared? - Was
npm run code-connect:parserun when*.figma.tsxchanged? - Was
npm run lintrun for component or code changes when practical? - Was
npm run buildrun for route, gallery, package, or AppFlow changes when practical? - Are skipped validations listed with a reason?
5. Handoff Audit
- Does the final response list the outcome and files changed?
- Does it include or reconstruct
WorkflowRunStatewhen work may continue later? - If this continues a prior session, was prior approval visible or re-confirmed?
- Does it provide the
/library/*route or import path when applicable? - Does it summarize registry, export, nav, route, Code Connect, or token injection?
- Does it disclose dirty-tree caveats or pre-existing unrelated changes that affect confidence?
- Does it name remaining risks without overstating success?