Files
2026-04-06 12:39:52 -06:00

3.6 KiB

phase, slug, status, nyquist_compliant, wave_0_complete, created
phase slug status nyquist_compliant wave_0_complete created
19 template-editor-ui draft false false 2026-04-06

Phase 19 — Validation Strategy

Per-phase validation contract for feedback sampling during execution.


Test Infrastructure

Property Value
Framework vitest (existing)
Config file teressa-copeland-homes/vitest.config.ts (or package.json scripts)
Quick run command cd teressa-copeland-homes && npm run type-check
Full suite command cd teressa-copeland-homes && npm run build
Estimated runtime ~30 seconds

Sampling Rate

  • After every task commit: Run npm run type-check
  • After every plan wave: Run npm run build
  • Before /gsd:verify-work: Full build must succeed with no type errors
  • Max feedback latency: 30 seconds

Per-Task Verification Map

Task ID Plan Wave Requirement Test Type Automated Command File Exists Status
19-01-01 01 1 TMPL-05 type-check npm run type-check pending
19-01-02 01 1 TMPL-05 type-check npm run type-check pending
19-02-01 02 1 TMPL-06 build npm run build W0 pending
19-02-02 02 1 TMPL-07 build npm run build W0 pending
19-03-01 03 2 TMPL-08 manual see manual table pending
19-03-02 03 2 TMPL-09 build npm run build W0 pending

Status: pending · green · red · ⚠️ flaky


Wave 0 Requirements

  • teressa-copeland-homes/src/app/portal/(protected)/templates/page.tsx — stub (list page)
  • teressa-copeland-homes/src/app/portal/(protected)/templates/[id]/page.tsx — stub (editor server component)
  • teressa-copeland-homes/src/app/portal/(protected)/templates/[id]/_components/TemplatePageClient.tsx — stub
  • teressa-copeland-homes/src/app/portal/(protected)/templates/[id]/_components/TemplatePanel.tsx — stub
  • teressa-copeland-homes/src/app/api/templates/[id]/ai-prepare/route.ts — stub
  • teressa-copeland-homes/src/app/api/templates/[id]/fields/route.ts — stub
  • teressa-copeland-homes/src/app/api/templates/[id]/file/route.ts — stub

Existing infrastructure (vitest, next build) covers the test framework — Wave 0 only needs file stubs.


Manual-Only Verifications

Behavior Requirement Why Manual Test Instructions
FieldPlacer drag-drop works in template mode TMPL-05 Browser interaction Open /portal/templates/[id], drag a field onto the PDF, verify it snaps to position
AI Auto-place triggers and places fields TMPL-06 HTTP + browser Click "AI Auto-place Fields", wait for spinner, verify fields appear on PDF
Role labels accepted (no email validation) TMPL-07 Browser interaction Type "Lender" as a role label, verify no error toast
Text hint persists across reload TMPL-08 Browser + reload Set hint on text field, save, reload, verify hint displays as placeholder
Save persists to DB and survives reload TMPL-09 Browser + reload Save template, reload page, verify all fields and roles are restored

Validation Sign-Off

  • All tasks have <automated> verify or Wave 0 dependencies
  • Sampling continuity: no 3 consecutive tasks without automated verify
  • Wave 0 covers all MISSING references
  • No watch-mode flags
  • Feedback latency < 30s
  • nyquist_compliant: true set in frontmatter

Approval: pending