Files
ableton-mcp-ai/docs/SPRINT_v0.1.4_NEXT.md

4.9 KiB

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

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" .