Sync: Complete project state with all MEGA SPRINT V1-V3 features and Codex stubs
This commit is contained in:
155
docs/SPRINT_v0.1.4_NEXT.md
Normal file
155
docs/SPRINT_v0.1.4_NEXT.md
Normal file
@@ -0,0 +1,155 @@
|
||||
# Sprint v0.1.4 - Cerrar Integracion Real y Evidencia Runtime
|
||||
|
||||
Fecha: 2026-03-30
|
||||
|
||||
Este sprint reemplaza a `docs/SPRINT_v0.1.3_NEXT.md` como sprint activo.
|
||||
|
||||
## Objetivo
|
||||
|
||||
Pasar de "hay wiring parcial y tests unitarios" a "hay evidencia runtime de que el flujo real usa esas mejoras".
|
||||
|
||||
## Estado de partida real
|
||||
|
||||
- `reference_listener.py` mejoro: ahora setea contexto por seccion y pasa `section_kind`/`section_energy` en seleccion por variante.
|
||||
- `sample_selector.py` tiene `SECTION_ROLE_PROFILES`, `record_section_selection()` y `_calculate_joint_score()`.
|
||||
- No esta demostrado todavia que el `joint scoring` del `SampleSelector` afecte la generacion real end-to-end.
|
||||
- `temp\smoke_test_async.py` existe, pero Kimi lo habia dejado con `SERVER_PATH` roto; eso ya fue corregido.
|
||||
- `.gitignore` ahora vuelve a ignorar solo `temp/`; no debe volver a esconder scripts globalmente.
|
||||
|
||||
## Tarea 1 - Probar section-aware y joint scoring en el flujo real
|
||||
|
||||
Problema:
|
||||
|
||||
- hoy hay mejora parcial en `reference_listener.py`
|
||||
- pero no alcanza con que exista `set_section_context()`
|
||||
- hace falta demostrar que el flujo real cambia picks por seccion y que el scoring conjunto entra en juego
|
||||
|
||||
Haz esto:
|
||||
|
||||
1. identificar el camino exacto de generacion que se usa en runtime
|
||||
2. verificar si el scoring principal pasa por `SampleSelector._calculate_sample_score()`
|
||||
3. si no pasa, cablearlo o dejar explicitamente documentado que `reference_listener.py` usa su propia heuristica
|
||||
4. capturar logs reales de una generacion con `SECTION_CONTEXT`
|
||||
5. capturar logs reales de `JOINT_SCORE`, o documentar con evidencia que esa parte sigue sin usarse
|
||||
|
||||
Archivos probables:
|
||||
|
||||
- `AbletonMCP_AI/AbletonMCP_AI/MCP_Server/reference_listener.py`
|
||||
- `AbletonMCP_AI/AbletonMCP_AI/MCP_Server/sample_selector.py`
|
||||
- `AbletonMCP_AI/AbletonMCP_AI/MCP_Server/server.py`
|
||||
|
||||
Criterio de salida:
|
||||
|
||||
- hay evidencia runtime de `SECTION_CONTEXT`
|
||||
- queda claro si `JOINT_SCORE` participa o no participa del flujo real
|
||||
- no se vuelve a usar lenguaje tipo "activo" sin prueba
|
||||
|
||||
## Tarea 2 - Validar async con Live real
|
||||
|
||||
Problema:
|
||||
|
||||
- la infraestructura async existe
|
||||
- la validacion documentada sigue floja
|
||||
- el smoke test estuvo roto por path y eso invalida parte del claim anterior
|
||||
|
||||
Haz esto:
|
||||
|
||||
1. ejecutar `python temp\smoke_test_async.py` con Live abierto
|
||||
2. probar `generate_song_async`
|
||||
3. probar `generate_track_async --use-track`
|
||||
4. revisar polling, resultado final y tracks creados
|
||||
5. guardar evidencia minima en el sprint o handoff
|
||||
|
||||
Archivos:
|
||||
|
||||
- `temp\smoke_test_async.py`
|
||||
- `AbletonMCP_AI/AbletonMCP_AI/MCP_Server/server.py`
|
||||
|
||||
Criterio de salida:
|
||||
|
||||
- `queued -> running -> completed` o un fallo claro y reproducible
|
||||
- resultado util en `get_generation_job_status`
|
||||
- si falla, el bug queda localizado
|
||||
|
||||
## Tarea 3 - Unificar scripts y rutas canonicas
|
||||
|
||||
Problema:
|
||||
|
||||
- hay docs que todavia apuntan a `smoke_test_async.py` en root
|
||||
- el script real vive en `temp\`
|
||||
- esto vuelve a generar handoffs falsos o instrucciones rotas
|
||||
|
||||
Haz esto:
|
||||
|
||||
1. corregir docs y handoffs para usar la ruta canonica real
|
||||
2. revisar si conviene mantener el script en `temp\` o devolverlo a root
|
||||
3. si lo dejas en `temp\`, asegurate de que la documentacion sea consistente
|
||||
4. no vuelvas a ocultar scripts globalmente con `.gitignore`
|
||||
|
||||
Archivos:
|
||||
|
||||
- `SMOKE_TEST_ASYNC.md`
|
||||
- `KIMI_K2_ACTIVE_HANDOFF.md`
|
||||
- `KIMI_K2_BOOTSTRAP.md`
|
||||
- docs que mencionen `smoke_test_async.py`
|
||||
|
||||
Criterio de salida:
|
||||
|
||||
- una sola ruta canonica
|
||||
- sin referencias viejas en docs activas
|
||||
|
||||
## Tarea 4 - Endurecer la documentacion de evidencia
|
||||
|
||||
Problema:
|
||||
|
||||
- Kimi sigue marcando "completado" donde solo hay compile + narrativa
|
||||
- eso vuelve inutiles los handoffs
|
||||
|
||||
Haz esto:
|
||||
|
||||
1. en cada cambio importante, separar:
|
||||
- codigo existe
|
||||
- codigo cableado
|
||||
- runtime validado
|
||||
2. no uses porcentajes globales tipo `100%`
|
||||
3. si falta runtime, decirlo literal
|
||||
4. si un documento historico sobredeclara, agregar correccion en vez de ignorarlo
|
||||
|
||||
Archivos:
|
||||
|
||||
- `docs/SPRINT_v0.1.4_CHANGES.md` cuando cierres este sprint
|
||||
- `KIMI_K2_ACTIVE_HANDOFF.md`
|
||||
|
||||
Criterio de salida:
|
||||
|
||||
- proximo handoff usable por otro agente sin re-auditoria completa
|
||||
|
||||
## Tarea 5 - Solo despues: seguir mejorando seleccion musical
|
||||
|
||||
No entres primero a esta tarea.
|
||||
|
||||
Primero cierra integracion y validacion.
|
||||
|
||||
Si Tareas 1-4 quedan bien, despues recien:
|
||||
|
||||
1. endurecer coherencia por pack entre secciones
|
||||
2. validar que groove templates reales cambian el ritmo
|
||||
3. revisar scoring musical sobre loops de reggaeton
|
||||
|
||||
## Reglas duras
|
||||
|
||||
- usa PowerShell, no bash
|
||||
- usa rutas absolutas de Windows en docs
|
||||
- no declares exito por compilacion sola
|
||||
- no declares exito por logs inventados o esperados
|
||||
- si contradicen diff, codigo y doc, gana el codigo
|
||||
- si contradicen codigo y runtime, gana el runtime
|
||||
|
||||
## Comandos utiles
|
||||
|
||||
```powershell
|
||||
python temp\smoke_test_async.py --use-track
|
||||
python AbletonMCP_AI\AbletonMCP_AI\MCP_Server\tests\test_sample_selector.py
|
||||
Get-Content "$env:APPDATA\Ableton\Live 12.0.15\Preferences\Log.txt" -Tail 120
|
||||
rg -n "smoke_test_async.py|SECTION_CONTEXT|JOINT_SCORE" .
|
||||
```
|
||||
Reference in New Issue
Block a user