kimai-plugin-heatmap/.planning/phases/07-mode-switcher-week-mode/07-VALIDATION.md

2.6 KiB

phase slug status nyquist_compliant wave_0_complete created
07 mode-switcher-week-mode draft false false 2026-04-09

Phase 07 — Validation Strategy

Per-phase validation contract for feedback sampling during execution.


Test Infrastructure

Property Value
Framework vitest 3.x
Config file vitest.config.ts
Quick run command npx vitest run --reporter=verbose
Full suite command npx vitest run --reporter=verbose
Estimated runtime ~5 seconds

Sampling Rate

  • After every task commit: Run npx vitest run --reporter=verbose
  • After every plan wave: Run npx vitest run --reporter=verbose
  • Before /gsd-verify-work: Full suite must be green
  • Max feedback latency: 5 seconds

Per-Task Verification Map

Task ID Plan Wave Requirement Threat Ref Secure Behavior Test Type Automated Command File Exists Status
07-01-01 01 1 VIZ-01 N/A unit npx vitest run W0 pending
07-01-02 01 1 VIZ-05 N/A unit npx vitest run W0 pending
07-02-01 02 1 VIZ-02 N/A unit npx vitest run W0 pending
07-02-02 02 1 TEST-01 N/A unit npx vitest run W0 pending

Status: pending / green / red / ⚠️ flaky


Wave 0 Requirements

Existing infrastructure covers all phase requirements.

Vitest is already installed and configured. Test files exist in assets/test/. No additional setup needed.


Manual-Only Verifications

Behavior Requirement Why Manual Test Instructions
Segmented control renders in card header VIZ-01 Visual layout in Kimai dashboard Start dev Kimai, verify controls appear in widget header
Week-mode cells colored correctly VIZ-02 Visual regression check Switch to week mode, verify 7 colored cells with correct labels
Mode switch preserves filter SC-4 Requires running Kimai with project data Select a project filter, switch modes, verify filter state retained

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