homelabby/.planning/phases/01-foundation/01-VALIDATION.md

2.7 KiB

phase slug status nyquist_compliant wave_0_complete created
1 foundation draft false false 2026-04-10

Phase 1 — Validation Strategy

Per-phase validation contract for feedback sampling during execution.


Test Infrastructure

Property Value
Framework go test
Config file none — Wave 0 installs
Quick run command go test ./...
Full suite command go test -v -race ./...
Estimated runtime ~10 seconds

Sampling Rate

  • After every task commit: Run go test ./...
  • After every plan wave: Run go test -v -race ./...
  • Before /gsd-verify-work: Full suite must be green
  • Max feedback latency: 10 seconds

Per-Task Verification Map

Task ID Plan Wave Requirement Threat Ref Secure Behavior Test Type Automated Command File Exists Status
01-01-01 01 1 INF-01 N/A unit go test ./cmd/hwlab/... W0 pending
01-01-02 01 1 INF-02 N/A unit go test ./internal/config/... W0 pending
01-02-01 02 1 NB-01 N/A integration go test ./internal/netbox/... W0 pending
01-02-02 02 1 NB-02 Custom fields round-trip integration go test ./internal/netbox/... W0 pending
01-03-01 03 2 NB-05 N/A integration go test ./internal/waq/... W0 pending
01-03-02 03 2 NB-06 N/A unit go test ./internal/qualitygate/... W0 pending

Status: pending · green · red · ⚠️ flaky


Wave 0 Requirements

  • go.mod — Go module initialization
  • Test infrastructure via go test (built-in)

Existing Go test infrastructure covers all phase requirements.


Manual-Only Verifications

Behavior Requirement Why Manual Test Instructions
NetBox custom fields provisioned NB-02 Requires NetBox admin UI Verify fields exist via GET /api/extras/custom-fields/
netbox-inventory plugin installed NB-03 Requires SSH to LXC Check pip list in LXC 130
Location hierarchy created NB-04 Requires NetBox admin UI Verify via GET /api/dcim/locations/

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

Approval: pending