Files
GearBox/.planning/phases/21-item-catalog-detail-pages/21-VALIDATION.md

2.4 KiB

phase, slug, status, nyquist_compliant, wave_0_complete, created
phase slug status nyquist_compliant wave_0_complete created
21 item-catalog-detail-pages draft false false 2026-04-06

Phase 21 — Validation Strategy

Per-phase validation contract for feedback sampling during execution.


Test Infrastructure

Property Value
Framework bun test + Playwright (E2E)
Config file playwright.config.ts
Quick run command bun run lint
Full suite command bun run lint && bun run build
Estimated runtime ~10 seconds

Sampling Rate

  • After every task commit: Run bun run lint
  • After every plan wave: Run bun run lint && bun run build
  • Before /gsd:verify-work: Full suite + manual visual check
  • Max feedback latency: 10 seconds

Per-Task Verification Map

Task ID Plan Wave Requirement Test Type Automated Command Status
01-T1 21-01 1 DETAIL-01, DETAIL-03 lint+visual bun run lint pending
01-T2 21-01 1 DETAIL-02 lint+visual bun run lint pending
02-T1 21-02 1 DETAIL-04 lint+visual bun run lint pending
02-T2 21-02 1 DETAIL-04 lint+visual bun run lint pending
03-T1 21-03 2 DETAIL-04 lint+grep bun run lint pending
03-T2 21-03 2 DETAIL-05 lint+grep bun run lint pending

Manual-Only Verifications

Behavior Requirement Why Manual Test Instructions
Item detail page renders with correct data DETAIL-01 Visual layout Navigate to /items/:id, verify hero image, specs, notes
Edit mode toggle works DETAIL-03 Visual interaction Click Edit, verify fields become editable, save changes
Catalog detail page with Add button DETAIL-02 Visual layout Navigate to /global-items/:id, verify Add button present
Candidate detail page in thread context DETAIL-04 Visual navigation Click candidate in thread, verify detail page
Panels removed from UI DETAIL-05 Visual absence Verify no slide-out panels appear anywhere

Validation Sign-Off

  • All tasks have automated verify (lint)
  • Sampling continuity maintained
  • Manual visual verification pending
  • nyquist_compliant: true set in frontmatter

Approval: pending