3.8 KiB
3.8 KiB
phase, slug, status, nyquist_compliant, wave_0_complete, created
| phase | slug | status | nyquist_compliant | wave_0_complete | created |
|---|---|---|---|---|---|
| 1 | core-infrastructure | draft | false | false | 2026-03-11 |
Phase 1 — Validation Strategy
Per-phase validation contract for feedback sampling during execution.
Test Infrastructure
| Property | Value |
|---|---|
| Framework | pytest 8.x |
| Config file | pyproject.toml (tool.pytest) |
| Quick run command | pytest tests/ -x -q |
| Full suite command | pytest tests/ -v --cov=src/gsd_openclaw |
| Estimated runtime | ~15 seconds |
Sampling Rate
- After every task commit: Run
pytest tests/ -x -q - After every plan wave: Run
pytest tests/ -v --cov=src/gsd_openclaw - Before
/gsd:verify-work: Full suite must be green - Max feedback latency: 15 seconds
Per-Task Verification Map
| Task ID | Plan | Wave | Requirement | Test Type | Automated Command | File Exists | Status |
|---|---|---|---|---|---|---|---|
| 01-01-01 | 01 | 1 | SESS-01 | integration | pytest tests/test_tmux_session.py::test_create_session -x |
❌ W0 | ⬜ pending |
| 01-01-02 | 01 | 1 | SESS-02 | unit | pytest tests/test_tmux_session.py::test_list_sessions -x |
❌ W0 | ⬜ pending |
| 01-01-03 | 01 | 1 | SESS-03 | integration | pytest tests/test_tmux_session.py::test_destroy_session -x |
❌ W0 | ⬜ pending |
| 01-02-01 | 02 | 1 | SESS-04 | unit | pytest tests/test_state_manager.py::test_save_load_state -x |
❌ W0 | ⬜ pending |
| 01-02-02 | 02 | 1 | SESS-04 | unit | pytest tests/test_state_manager.py::test_atomic_write -x |
❌ W0 | ⬜ pending |
| 01-02-03 | 02 | 1 | SESS-04 | unit | pytest tests/test_state_manager.py::test_backup_rotation -x |
❌ W0 | ⬜ pending |
| 01-03-01 | 03 | 1 | SESS-05 | integration | pytest tests/test_tmux_session.py::test_resume_session -x |
❌ W0 | ⬜ pending |
| 01-03-02 | 03 | 1 | SESS-05 | unit | pytest tests/test_state_manager.py::test_state_validation -x |
❌ W0 | ⬜ pending |
| 01-04-01 | 04 | 2 | SESS-06 | unit | pytest tests/test_workspace.py::test_workspace_isolation -x |
❌ W0 | ⬜ pending |
| 01-04-02 | 04 | 2 | SESS-06 | unit | pytest tests/test_workspace.py::test_directory_structure -x |
❌ W0 | ⬜ pending |
| 01-05-01 | 05 | 2 | SESS-07 | unit | pytest tests/test_tmux_session.py::test_session_naming_collision -x |
❌ W0 | ⬜ pending |
| 01-05-02 | 05 | 2 | SESS-07 | integration | pytest tests/test_tmux_session.py::test_concurrent_sessions -x |
❌ W0 | ⬜ pending |
Status: ⬜ pending · ✅ green · ❌ red · ⚠️ flaky
Wave 0 Requirements
tests/conftest.py— libtmux pytest fixtures (server, session, tmp_path)tests/test_state_manager.py— atomic write, backup, validation teststests/test_tmux_session.py— create/list/destroy/resume teststests/test_workspace.py— directory structure, cleanup testspip install pytest pytest-cov libtmux— framework install if none detected
Manual-Only Verifications
| Behavior | Requirement | Why Manual | Test Instructions |
|---|---|---|---|
| Session persistence across server restart | SESS-04 | Requires full system restart cycle | 1. Create session 2. Restart server 3. Resume and verify state |
| Orphan session cleanup | SESS-05 | Requires manual tmux manipulation | 1. Create session via CLI 2. Delete state file 3. Run cleanup and verify |
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 < 15s
nyquist_compliant: trueset in frontmatter
Approval: pending