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