Adds automated feedback architecture research to gsd-phase-researcher,
enforces it as Dimension 8 in gsd-plan-checker, and introduces
{phase}-VALIDATION.md as the per-phase validation contract.
Ensures every phase plan includes automated verify commands before
execution begins. Opt-out via workflow.nyquist_validation: false.
Closes #122 (partial), related #117
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.4 KiB
phase, slug, status, nyquist_compliant, wave_0_complete, created
| phase | slug | status | nyquist_compliant | wave_0_complete | created | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
draft | false | false |
|
Phase {N} — Validation Strategy
Generated by
gsd-phase-researcherduring/gsd:plan-phase {N}. Updated bygsd-plan-checkerafter plan approval. Governs feedback sampling during/gsd:execute-phase {N}.
Test Infrastructure
| Property | Value |
|---|---|
| Framework | {pytest 7.x / jest 29.x / vitest / go test / other} |
| Config file | {path/to/pytest.ini or "none — Wave 0 installs"} |
| Quick run command | {e.g., pytest -x --tb=short} |
| Full suite command | {e.g., pytest tests/ --tb=short} |
| Estimated runtime | ~{N} seconds |
| CI pipeline | {.github/workflows/test.yml — exists / needs creation} |
Nyquist Sampling Rate
The minimum feedback frequency required to reliably catch errors in this phase.
- After every task commit: Run
{quick run command} - After every plan wave: Run
{full suite command} - Before
/gsd:verify-work: Full suite must be green - Maximum acceptable task feedback latency: {N} seconds
Per-Task Verification Map
| Task ID | Plan | Wave | Requirement | Test Type | Automated Command | File Exists | Status |
|---|---|---|---|---|---|---|---|
| {N}-01-01 | 01 | 1 | REQ-{XX} | unit | pytest tests/test_{module}.py::test_{name} -x |
✅ / ❌ W0 | ⬜ pending |
| {N}-01-02 | 01 | 1 | REQ-{XX} | integration | pytest tests/test_{flow}.py -x |
✅ / ❌ W0 | ⬜ pending |
| {N}-02-01 | 02 | 2 | REQ-{XX} | smoke | curl -s {endpoint} | grep {expected} |
✅ N/A | ⬜ pending |
Status values: ⬜ pending · ✅ green · ❌ red · ⚠️ flaky
Wave 0 Requirements
Test scaffolding committed BEFORE any implementation task. Executor runs Wave 0 first.
{tests/test_file.py}— stubs for REQ-{XX}, REQ-{XX}{tests/conftest.py}— shared fixtures{framework install}— if no framework detected
If none required: "Existing infrastructure covers all phase requirements — no Wave 0 test tasks needed."
Manual-Only Verifications
Behaviors that genuinely cannot be automated, with justification. These are surfaced during
/gsd:verify-workUAT.
| Behavior | Requirement | Why Manual | Test Instructions |
|---|---|---|---|
| {behavior} | REQ-{XX} | {reason: visual, third-party auth, physical device...} | {step-by-step} |
If none: "All phase behaviors have automated verification coverage."
Validation Sign-Off
Updated by gsd-plan-checker when plans are approved:
- All tasks have
<automated>verify commands or Wave 0 dependencies - No 3 consecutive implementation tasks without automated verify (sampling continuity)
- Wave 0 test files cover all MISSING references
- No watch-mode flags in any automated command
- Feedback latency per task: < {N}s ✅
nyquist_compliant: trueset in frontmatter
Plan-checker approval: {pending / approved on YYYY-MM-DD}
Execution Tracking
Updated during /gsd:execute-phase {N}:
| Wave | Tasks | Tests Run | Pass | Fail | Sampling Status |
|---|---|---|---|---|---|
| 0 | {N} | — | — | — | scaffold |
| 1 | {N} | {command} | {N} | {N} | ✅ sampled |
| 2 | {N} | {command} | {N} | {N} | ✅ sampled |
Phase validation complete: {pending / YYYY-MM-DD HH:MM}