feat: SDD workflow — test sync, song generation + validation, ReaScript hybrid pipeline
- compose-test-sync: fix 3 failing tests (NOTE_TO_MIDI, DrumLoopAnalyzer mock, section name) - generate-song: CLI wrapper + RPP validator (6 structural checks) + 4 e2e tests - reascript-hybrid: ReaScriptGenerator + command protocol + CLI + 16 unit tests - 110/110 tests passing - Full SDD cycle (propose→spec→design→tasks→apply→verify) for all 3 changes
This commit is contained in:
65
.sdd/changes/archive/2026-05-03-compose-test-sync/ARCHIVE.md
Normal file
65
.sdd/changes/archive/2026-05-03-compose-test-sync/ARCHIVE.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# Archive: compose-test-sync
|
||||
|
||||
**Archived**: 2026-05-03
|
||||
**Status**: Complete — all 90 tests pass
|
||||
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
Test-only sync change. Fixed 3 failing tests to match the new compose.py API after the great rewrite. No compose.py files were modified.
|
||||
|
||||
---
|
||||
|
||||
## Specs Synced
|
||||
|
||||
| Domain | Action | Details |
|
||||
|--------|--------|---------|
|
||||
| None | N/A | Test-only change — no spec-level capabilities modified |
|
||||
|
||||
No main specs updated (test-only change, no capability modification per proposal).
|
||||
|
||||
---
|
||||
|
||||
## Files Changed
|
||||
|
||||
| File | Change | Description |
|
||||
|------|--------|-------------|
|
||||
| `tests/test_section_builder.py` | Modified | Replaced `root_to_midi` with `NOTE_TO_MIDI` dict lookup |
|
||||
| `tests/test_render_cli.py` | Modified | Removed obsolete `DrumLoopAnalyzer` mock |
|
||||
| `tests/test_compose_integration.py` | Modified | Fixed section name from `"verse"` to `"chorus"`, removed `analysis` arg |
|
||||
|
||||
---
|
||||
|
||||
## Tasks Completed
|
||||
|
||||
All 4 phases completed per `tasks.md`:
|
||||
|
||||
- ✅ 1.1–1.3: Replaced `root_to_midi` with `NOTE_TO_MIDI["A"]` + octave offset formula
|
||||
- ✅ 2.1–2.5: Removed `DrumLoopAnalyzer` patch and related dead code
|
||||
- ✅ 3.1–3.2: Changed section name to `"chorus"`, removed unused `analysis` line
|
||||
- ✅ 4.1–4.2: Confirmed 90/90 tests pass, no scripts/ files modified
|
||||
|
||||
---
|
||||
|
||||
## Verification
|
||||
|
||||
- **Test result**: 90/90 tests passing (`pytest tests/ -q`)
|
||||
- **Scripts modified**: None confirmed via `git diff --name-only scripts/`
|
||||
- **Change scope**: Test-only, no compose.py changes
|
||||
|
||||
---
|
||||
|
||||
## Archive Contents
|
||||
|
||||
- `proposal.md` ✅
|
||||
- `design.md` ✅
|
||||
- `tasks.md` ✅
|
||||
|
||||
No `spec.md` existed for this change (test-only, no spec-level capabilities).
|
||||
|
||||
---
|
||||
|
||||
## SDD Cycle Complete
|
||||
|
||||
The change has been fully planned, implemented, verified, and archived. Ready for the next change.
|
||||
Reference in New Issue
Block a user