Files
GearBox/.planning/phases/12-comparison-view/12-VALIDATION.md

2.9 KiB

phase, slug, status, nyquist_compliant, wave_0_complete, created
phase slug status nyquist_compliant wave_0_complete created
12 comparison-view draft false false 2026-03-17

Phase 12 — Validation Strategy

Per-phase validation contract for feedback sampling during execution.


Test Infrastructure

Property Value
Framework Bun test (built-in)
Config file None — uses bun test directly
Quick run command bun test
Full suite command bun test
Estimated runtime ~5 seconds

Sampling Rate

  • After every task commit: Run bun test
  • After every plan wave: Run bun test
  • Before /gsd:verify-work: Full suite must be green
  • Max feedback latency: 5 seconds

Per-Task Verification Map

Task ID Plan Wave Requirement Test Type Automated Command File Exists Status
12-01-01 01 1 COMP-01 manual-only (UI/browser) N/A pending
12-01-02 01 1 COMP-02 unit (if delta util extracted) bun test tests/lib/comparison-deltas.test.ts W0 pending
12-01-03 01 1 COMP-03 manual-only (CSS/browser) N/A pending
12-01-04 01 1 COMP-04 manual-only (UI state) N/A pending

Status: pending · green · red · ⚠️ flaky


Wave 0 Requirements

  • tests/lib/comparison-deltas.test.ts — stubs for COMP-02 delta computation (optional; skip if deltas stay inlined in React component via useMemo)

Existing bun test infrastructure covers all backend services. This phase is pure frontend — no backend tests are broken.


Manual-Only Verifications

Behavior Requirement Why Manual Test Instructions
Candidates display all fields in tabular columns COMP-01 UI rendering — no backend logic Open thread with 2+ candidates, toggle compare view, verify all fields visible
Table scrolls horizontally with sticky label column COMP-03 CSS behavior — requires browser Narrow viewport to <768px, verify horizontal scroll, verify label column stays fixed
Resolved thread shows read-only view with winner marked COMP-04 UI state — requires resolved thread Open resolved thread, toggle compare view, verify winner column highlighted, no interactive elements
Missing weight/price shows dash, not zero COMP-04 UI rendering for null data Add candidate with no weight, toggle compare, verify "—" not "0g"

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

Approval: pending