Files
ImpTune/.planning/phases/03-printer-configuration/03-VALIDATION.md
T

3.4 KiB

phase, slug, status, nyquist_compliant, wave_0_complete, created
phase slug status nyquist_compliant wave_0_complete created
3 printer-configuration draft false false 2026-04-10

Phase 3 — Validation Strategy

Per-phase validation contract for feedback sampling during execution.


Test Infrastructure

Property Value
Framework pytest 8.x
Config file none — discovered via standard pytest directory scan
Quick run command pytest tests/test_printer_crud.py -x -q
Full suite command pytest tests/ -v
Estimated runtime ~5 seconds

Sampling Rate

  • After every task commit: Run pytest tests/test_printer_crud.py -x -q
  • After every plan wave: Run pytest tests/ -v
  • 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
03-01-01 01 1 PRNT-01, PRNT-02 integration pytest tests/test_printer_crud.py::test_create_printer_persisted -x W0 pending
03-01-02 01 1 PRNT-04 integration pytest tests/test_printer_crud.py::test_create_printer_duplex -x W0 pending
03-01-03 01 1 PRNT-05 integration pytest tests/test_printer_crud.py::test_create_printer_color_mode -x W0 pending
03-01-04 01 1 PRNT-06 integration pytest tests/test_printer_crud.py::test_create_printer_paper_size -x W0 pending
03-01-05 01 1 PRNT-07 integration pytest tests/test_printer_crud.py::test_create_printer_collate -x W0 pending
03-01-06 01 1 PRNT-09 integration pytest tests/test_printer_crud.py::test_printer_survives_page_refresh -x W0 pending
03-02-01 02 1 PRNT-08 integration pytest tests/test_printer_crud.py::test_printer_grouped_by_client -x W0 pending
03-03-01 03 2 PRNT-10 integration pytest tests/test_printer_crud.py::test_printer_detail_shows_driver -x W0 pending
03-01-XX 01 1 PRNT-03 manual Manual browser test n/a pending

Status: pending · green · red · ⚠️ flaky


Wave 0 Requirements

  • tests/test_printer_crud.py — stubs for PRNT-01 through PRNT-10 (integration tests)
  • tests/test_client_crud.py — stubs for client creation and listing (can merge into test_printer_crud.py)

Existing infrastructure covers framework and conftest.py — no new infrastructure needed.


Manual-Only Verifications

Behavior Requirement Why Manual Test Instructions
Alpine.js auto-populates port name from IP PRNT-03 Browser-side Alpine.js reactivity cannot be tested with pytest TestClient 1. Open /printers/new 2. Type "192.168.1.100" in IP field 3. Verify port field shows "IP_192_168_1_100" 4. Edit port field manually 5. Change IP field 6. Verify port field keeps manual value

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