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

256 lines
7.2 KiB
Markdown

# SPRINT v0.1.28 - NEXT
## Hybrid Harmonic Piano, Better Coherence, Less Choppy Reggaeton
**Owner:** Next worker
**Reviewer:** Codex
**Fecha:** 2026-04-02
**Baseline report:** `c3aa8a7e8fa3`
**Baseline real vigente:** `c3aa8a7e8fa3`
---
## 1. Runtime Truth
No cerrar este sprint leyendo solo el md anterior.
La verdad persistida actual en `C:\Users\ren\.abletonmcp_ai\generation_manifests.json` es:
- `session_id = c3aa8a7e8fa3`
- `generation_mode = library-first-hybrid`
- `mandatory_midi_hook.materialized = true`
- `mandatory_midi_hook.track_name = HARMONY_PIANO_MIDI`
- `coherence_score = 4.8`
- `coherence_verdict = WEAK`
- `family_adherence_rate = 0.5`
- `repetition_metrics.identical_section_signatures = 2`
- `repetition_metrics.music_source_reuse_ratio = 1.0`
Interpretacion correcta:
- el sistema SI esta usando el piano armonico MIDI en modo hibrido
- el problema principal ya no es “falta piano”
- el problema principal es coherencia, continuidad y lectura correcta del hibrido
---
## 2. Code Review Del Sprint v0.1.27
### 2.1 Que hizo bien Kimi
1. La estructura dejo de sonar tan clonada.
La sesion nueva ya no cae tan literalmente en la misma silueta de antes.
2. La continuidad de `synth_loop` y `top_loop` mejoro respecto a versiones mas viejas.
3. El report no mintio con el estado final: lo marco como parcial.
### 2.2 Que leyo mal o dejo abierto
1. Dijo `coherence_score = None`.
Eso es falso para `c3aa8a7e8fa3`. El manifest real ya tiene `4.8`.
2. Trato la ausencia de `AUDIO PIANO MELODY` como bug principal.
Eso no es la lectura correcta del producto.
El usuario aclaro que cuando dice “piano rolls” se refiere a:
- MIDI
- HARMONY_PIANO_MIDI
- soporte armonico mezclado con la libreria
Entonces:
- `AUDIO_PIANO_MELODY` puede ser un extra util
- pero NO es el criterio central de exito
- el criterio central es `MIDI harmony piano + audio library`
3. El report siguio leyendo `music_source_reuse_ratio = 1.0` como verdad cerrada.
Ojo:
- la sesion persistida sigue mostrando ese numero
- pero Codex ya corrigio el codigo para medir por sample-level source key y no solo por pack
- ese numero necesita revalidacion con una generacion nueva
4. El report mostro `pack: unknown` para capas de audio.
Eso venia de un problema de persistencia del manifest, no necesariamente de seleccion real.
Codex ya dejo preservacion de `pack`, `family`, `source` y `volume` en `audio_layers`.
5. El report se fue demasiado a la idea de “faltan samples melodicos de piano en la libreria”.
Eso puede ser cierto como mejora futura, pero hoy no es el cuello de botella correcto.
---
## 3. Aclaracion Del Usuario Que Ahora Es Regla
Cuando el usuario diga:
- `piano roll`
- `piano rolls`
- `piano armonico`
En este sistema debe interpretarse como:
- `HARMONY_PIANO_MIDI`
- hook MIDI/piano armonico materializado
- contenido armonico MIDI mezclado con capas de audio de la libreria
No perseguir por defecto:
- solo `AUDIO_PIANO_MELODY`
- solo loops de piano audio
Eso puede sumar.
No es el requerimiento principal.
---
## 4. Objetivo Real de v0.1.28
Recuperar coherencia y continuidad sin perder el modo hibrido correcto.
La salida buscada es:
- reggaeton con estructura clara
- menos cortes y menos huecos innecesarios
- `HARMONY_PIANO_MIDI` realmente integrado con la libreria
- mejor coherencia del material armonico
- drums mas selectivos segun contexto
La salida NO buscada es:
- perseguir audio piano melodico como si fuera el unico piano valido
- banear samples por nombre
- volver a vaciar Drop B para “diferenciarlo”
- cerrar con metrics stale o mal interpretadas
---
## 5. Trabajo Obligatorio
### P0. Hibrido armonico correcto
Revisar el path completo:
- `reference_listener.py`
- `server.py`
- manifest persistido
Y garantizar que el sistema represente y use correctamente:
- audio library as primary identity
- `HARMONY_PIANO_MIDI` como soporte armonico MIDI real
Trabajo concreto:
- hacer que las metricas/manifest reflejen explicitamente el blend `library + midi piano`
- no dejar que el reporte futuro lo lea como “solo audio piano”
- verificar si la coherencia estable actual esta subcontando el aporte del hook MIDI
### P0. Coherence accounting real
Hoy el sistema puede estar sonando mas hibrido de lo que las metricas reconocen.
Revisar:
- `coherence_score`
- `family_adherence_rate`
- `layer_selections.summary`
- cualquier metrica que ignore capas inyectadas o el hook MIDI materializado
Objetivo:
- no inflar metricas artificialmente
- pero tampoco subreportar coherencia cuando el hook MIDI si existe y si esta mezclado con la libreria
### P0. Menos cortes y huecos
La estructura mejoro, pero sigue habiendo sensacion de tema cortado.
Revisar:
- placements de `AUDIO SYNTH LOOP`
- placements de `AUDIO BASS LOOP`
- placements de `AUDIO TOP LOOP`
- relacion entre `build/drop/break`
Meta:
- variacion por seccion sin vaciar el groove
- continuidad musical mejor que `c3aa8a7e8fa3`
### P1. Selectividad contextual de snare/clap
No hard-banear `SS_RNBL_Me_Gustas_One_Shot_Snare.wav`.
Si entra, tiene que entrar porque el contexto lo pide.
Trabajo esperado:
- revisar ranking real de snare/clap con evidencia
- demostrar que un snare muy agresivo pierde cuando la seccion es mas suave o menos brillante
- si sigue ganando siempre, seguir refinando scoring contextual
No acepto:
- blacklist por filename
- if especial para un sample puntual
### P1. Revalidar music_source_reuse_ratio con codigo nuevo
El codigo ya fue corregido para medir source keys a nivel sample real.
Ahora hace falta demostrarlo con una sesion nueva.
Si sigue dando `1.0`, tiene que ser por repeticion real, no por una metrica vieja.
---
## 6. Exit Criteria
No cerrar el sprint si no hay una sesion nueva persistida que muestre:
- `generation_mode = library-first-hybrid`
- `mandatory_midi_hook.materialized = true`
- `mandatory_midi_hook.track_name = HARMONY_PIANO_MIDI`
- evidencia clara de blend `audio library + midi harmony piano`
- `coherence_score > 4.8`
- `family_adherence_rate > 0.5` o bien metrica corregida con explicacion tecnica clara
- `repetition_metrics.verdict != repetitive`
- `music_source_reuse_ratio` revalidado con el codigo nuevo
- `vocal_layers_auto = 0`
Criterio auditivo:
- menos sensacion de tema cortado que `c3aa8a7e8fa3`
- el piano armonico MIDI tiene que sentirse integrado a la libreria
- la cancion no debe sonar como “audio por un lado, MIDI por otro”
`AUDIO_PIANO_MELODY`:
- opcional
- suma si aparece
- no bloquea cierre si el hibrido `library + HARMONY_PIANO_MIDI` esta bien logrado
---
## 7. Validation Report Obligatorio
El proximo worker tiene que dejar:
`docs/SPRINT_v0.1.28_VALIDATION_REPORT.md`
Y debe incluir:
1. `session_id` real nuevo
2. comparativa contra `c3aa8a7e8fa3`
3. `mandatory_midi_hook` completo
4. `piano_presence` completo
5. si el sistema reporta blend `library + midi piano`
6. `audio_layers` relevantes con:
- `AUDIO SYNTH LOOP`
- `AUDIO BASS LOOP`
- `AUDIO TOP LOOP`
- `AUDIO KEYS SUPPORT`
- `HARMONY_PIANO_MIDI` en seccion de hook/manifest
7. ranking o evidencia de snare/clap contextual
8. `repetition_metrics.source_distribution`
Si el md vuelve a decir `coherence_score = None` cuando el manifest ya lo tiene, el sprint no cuenta.