122 lines
3.3 KiB
Markdown
122 lines
3.3 KiB
Markdown
# Sprint v0.1.10 Next
|
|
|
|
Ultima revision: 2026-03-30
|
|
|
|
## Objetivo
|
|
|
|
Cerrar lo que v0.1.9 dejo a medio camino y usar la nueva observabilidad para validar con runtime real.
|
|
|
|
La prioridad no es agregar mas features.
|
|
|
|
La prioridad es:
|
|
|
|
1. referencia real
|
|
2. hook MIDI real
|
|
3. budget real
|
|
4. coherencia real
|
|
|
|
## Punto de partida real
|
|
|
|
Ya esta corregido:
|
|
|
|
- `PhrasePlan` y `Phrase` se serializan y restauran con notas reales
|
|
- `server.py` ya no pasa un `dict` roto al hook MIDI
|
|
- `temp/smoke_test_async.py` ya acepta `--reference`
|
|
- el smoke async ya mide `delta` de tracks contra baseline
|
|
- Ralph ya tiene estado de run y timeline para dashboard local
|
|
|
|
Todavia no esta demostrado:
|
|
|
|
- que el hook MIDI quede materializado en una corrida nueva
|
|
- que el budget limite todo el flujo a 16 tracks o menos
|
|
- que `reference_path` fuerce realmente key y BPM en el resultado final
|
|
- que el track suene claramente mas cerca de `ejemplo.mp3`
|
|
|
|
## Trabajo a hacer
|
|
|
|
### 1. Validacion runtime con referencia real
|
|
|
|
Ejecutar:
|
|
|
|
```powershell
|
|
python temp\smoke_test_async.py `
|
|
--use-track `
|
|
--genre reggaeton `
|
|
--structure minimal `
|
|
--reference "C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\libreria\reggaeton\ejemplo.mp3" `
|
|
--save-report "temp\smoke_report_v010_reference.json"
|
|
```
|
|
|
|
Guardar evidencia de:
|
|
|
|
- baseline de tracks
|
|
- delta de tracks
|
|
- key usada
|
|
- BPM usado
|
|
- si hubo hook MIDI
|
|
|
|
### 2. Confirmar hook MIDI end-to-end
|
|
|
|
No alcanza con logs.
|
|
|
|
Hay que demostrar:
|
|
|
|
- track creado en Live
|
|
- clip MIDI creado
|
|
- notas escritas
|
|
- nombre de track/familia coherente (`piano`, `pluck`, `keys`, `pad`, `lead`)
|
|
|
|
### 3. Cerrar budget leak estructural
|
|
|
|
No tocar solo `SongGenerator`.
|
|
|
|
Revisar en `server.py` todos los caminos que crean tracks despues del plan principal:
|
|
|
|
- audio fallback
|
|
- reference audio layers
|
|
- derived layers
|
|
- buses auxiliares
|
|
- materializacion del hook
|
|
|
|
Criterio:
|
|
|
|
- budget final <= 16 tracks
|
|
- si algo excede el budget, debe omitirse y quedar registrado en manifest o log
|
|
|
|
### 4. Mejorar coherencia sin sumar capas
|
|
|
|
Si el track sigue sonando a loops sueltos:
|
|
|
|
- bajar capas
|
|
- mantener una sola familia dominante
|
|
- mantener una sola idea melodica
|
|
- prohibir layers redundantes si no agregan contraste real
|
|
|
|
### 5. Validar Ralph dashboard con un dry run
|
|
|
|
No lanzar swarm largo.
|
|
|
|
Solo comprobar:
|
|
|
|
- `current_run.json`
|
|
- `events.jsonl`
|
|
- la GUI muestra implementer, reviewers, codex master y fix pass
|
|
|
|
## Archivos a tocar primero
|
|
|
|
- `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\AbletonMCP_AI\AbletonMCP_AI\MCP_Server\server.py`
|
|
- `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\AbletonMCP_AI\AbletonMCP_AI\MCP_Server\song_generator.py`
|
|
- `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\temp\smoke_test_async.py`
|
|
- `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\ralph\scripts\Start-RalphAutopilot.ps1`
|
|
- `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\ralph\gui\app.py`
|
|
|
|
## Criterio de salida
|
|
|
|
El sprint solo se cierra si hay evidencia de estas 5 cosas:
|
|
|
|
1. el smoke usa `ejemplo.mp3` de verdad
|
|
2. el delta real de tracks queda en 16 o menos
|
|
3. existe al menos un hook MIDI armonico principal
|
|
4. key y BPM finales siguen la referencia o explican el override
|
|
5. el dashboard refleja el estado real del swarm sin ejecutar codigo adicional
|