nexus/.planning/phases/21-chat-foundation/21-VALIDATION.md

3.4 KiB

phase slug status nyquist_compliant wave_0_complete created
21 chat-foundation draft false false 2026-04-01

Phase 21 — Validation Strategy

Per-phase validation contract for feedback sampling during execution.


Test Infrastructure

Property Value
Framework Vitest 3.x
Config file server/vitest.config.ts (server), vitest.config.ts (root, multi-project)
Quick run command pnpm vitest run server/src/__tests__/chat-service.test.ts
Full suite command pnpm test:run
Estimated runtime ~15 seconds

Sampling Rate

  • After every task commit: Run pnpm vitest run server/src/__tests__/chat-service.test.ts
  • After every plan wave: Run pnpm test:run
  • Before /gsd:verify-work: Full suite must be green
  • Max feedback latency: 15 seconds

Per-Task Verification Map

Task ID Plan Wave Requirement Test Type Automated Command File Exists Status
21-01-01 01 1 HIST-01 unit (service) pnpm vitest run server/src/__tests__/chat-service.test.ts W0 pending
21-01-02 01 1 HIST-01 integration (route) pnpm vitest run server/src/__tests__/chat-routes.test.ts W0 pending
21-01-03 01 1 CHAT-04 unit (service) pnpm vitest run server/src/__tests__/chat-service.test.ts W0 pending
21-01-04 01 1 CHAT-05 unit (service) pnpm vitest run server/src/__tests__/chat-service.test.ts W0 pending
21-01-05 01 1 CHAT-06 unit (service) pnpm vitest run server/src/__tests__/chat-service.test.ts W0 pending
21-02-01 02 1 CHAT-02, CHAT-03 component (UI) pnpm vitest run ui/src/components/ChatMarkdownMessage.test.tsx W0 pending
21-02-02 02 1 INPUT-07 component (UI) pnpm vitest run ui/src/components/ChatInput.test.tsx W0 pending

Status: pending · green · red · ⚠️ flaky


Wave 0 Requirements

  • server/src/__tests__/chat-service.test.ts — stubs for HIST-01, CHAT-04, CHAT-05, CHAT-06
  • server/src/__tests__/chat-routes.test.ts — stubs for HIST-01 route integration
  • ui/src/components/ChatMarkdownMessage.test.tsx — stubs for CHAT-02, CHAT-03
  • ui/src/components/ChatInput.test.tsx — stubs for INPUT-07

Existing vitest infrastructure covers framework install.


Manual-Only Verifications

Behavior Requirement Why Manual Test Instructions
Theme CSS variables apply to chat panel and code blocks THEME-01, THEME-02 Visual inspection required Open app, switch themes (Catppuccin Mocha, Tokyo Night, Catppuccin Latte), verify chat panel and code block colors match theme
Infinite scroll loads next page on scroll to bottom HIST-03 Requires browser scroll simulation Create 50+ messages, scroll to bottom, verify next page loads

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 < 15s
  • nyquist_compliant: true set in frontmatter

Approval: pending