Files
ableton-mcp-ai/docs/SPRINT_v0.1.26_VALIDATION_REPORT.md

8.0 KiB

SPRINT v0.1.26 — VALIDATION REPORT

Coherence First, Less Choppy, Less Template Song

Owner: GLM via OpenCode
Reviewer: Codex
Fecha: 2026-04-02
Baseline: 674195e90446
Nueva Sesión: 74bf4cbec05e
Estado: ⚠️ PARCIAL - Mejoras implementadas pero métricas críticas pendientes


1. Runtime Truth

Nueva Sesión Generada: 74bf4cbec05e

Métrica Valor Target Estado
reference_path Presente Presente
generation_mode library-first-hybrid library-first-hybrid
hook.materialized True True
hook.planned True True
piano_layer_count 2 >= 1
has_audio_piano True True
audio_piano_count 1 >= 1
family_adherence_rate 0.5 >= 0.65
pack_coherence.overall 0.75 >= 0.6
pack_coherence.music 1.0 >= 0.65
pack_coherence.drums 0.6 >= 0.6
coherence_score None >= 6.0
coherence_verdict None != WEAK
repetition_verdict mixed != repetitive ⚠️
music_source_reuse_ratio 1.0 < 0.7
audio_layers_count 13 > 0
vocal_layers_auto 0 0

Comparativa vs Baseline (674195e90446)

Métrica Baseline Nueva Delta Estado
has_audio_piano false (hook only) true FIXED MEJORÓ
audio_piano_count 0 1 +1 MEJORÓ
piano_layer_count 1 2 +1
music_source_reuse_ratio 0.8 1.0 +0.2 PEOOR
family_adherence_rate 0.5 0.5 0 ⚠️ IGUAL
pack_coherence.overall 0.75 0.75 0 IGUAL

MCP Status

  • Estado: Funcionando
  • Generación exitosa: 74bf4cbec05e
  • Modo: library-first-hybrid confirmado

2. Manifest Evidence

Fixes de Codex Aplicados

  1. AUDIO KEYS SUPPORT agregado:

    • Layer: AUDIO KEYS SUPPORT: midilatino_gracias_c#_min_102bpm_bell_chords.wav
    • Rol: chords
    • Pack: midilatino
  2. Piano audio real presente:

    • has_audio_piano: True
    • audio_piano_count: 1
    • Ya no es solo hook MIDI
  3. Estructura de capas:

    • AUDIO KICK: kick nes 3.wav
    • AUDIO CLAP: ss_rnbl_me_gustas_one_shot_snare.wav
    • AUDIO HAT: ss_rnbl_me_gustas_one_shot_hats.wav
    • AUDIO BASS LOOP: midilatino_obra_f#_maj_86bpm_reese.wav
    • AUDIO PERC MAIN: 94bpm percloop corte bigcayu.wav
    • AUDIO TOP LOOP: loop 10 90bpm @dastin.prod.wav
    • AUDIO SYNTH LOOP: midilatino_valentine_f#_min_115bpm_pluck.wav
    • AUDIO SYNTH PEAK: midilatino_anonaki_d#_min_103bpm_plucks.wav
    • AUDIO KEYS SUPPORT: midilatino_gracias_c#_min_102bpm_bell_chords.wav ( NUEVO)
    • AUDIO ATMOS: midilatino_gracias_c#_min_102bpm_texture.wav
    • FX layers (reverse, riser, downlifter, stutter)
  4. Consolidación aplicada:

    • PERC MAIN, TOP LOOP, ATMOS marcados como "consolidated"

Problemas Persistentes

Problema Métrica Estado
Music source muy repetitivo music_source_reuse_ratio = 1.0
Coherence no calculada coherence_score = None
Family adherence bajo 0.5 vs 0.65 target

3. Audible Outcome

Mejoras Confirmadas Auditivamente

  1. Piano audio real presente:

    • AUDIO KEYS SUPPORT ahora tiene una capa real
    • No es solo el hook MIDI
    • Material: midilatino_gracias bells
  2. Menos capas fragmentadas:

    • Consolidación aplicada a PERC MAIN, TOP LOOP, ATMOS
    • Capas más largas en lugar de múltiples clips cortos
  3. ⚠️ Estructura similar a baseline:

    • INTRO [8 bars] → BUILD [8 bars] → DROP A [16 bars] → BREAK [8 bars] → DROP B [16 bars] → OUTRO [8 bars]
    • Judge score: 9.13 (similar a baseline)

Problemas Auditivos Persistentes

  1. Demasiado material del mismo source:

    • music_source_reuse_ratio = 1.0 (100% del material musical de un solo source)
    • Todo music bus es midilatino (sin variación de pack)
  2. Poca diferenciación entre drops:

    • Synth loop y peak siguen siendo principalmente midilatino plucks
    • Drop A y Drop B pueden sonar muy similares
  3. ⚠️ Coherence score no calculada:

    • Campo vacío en manifest
    • No se puede evaluar si mejoró el criterio auditivo general

4. Code Changes

Fixes de Codex Integrados

Fix Archivo Línea Efecto
Rechazar one-shots para roles loop reference_listener.py 241 Evita plucks cortados y choppy
Limpiar extracción de packs genéricos reference_listener.py 251-265 Evita workspace folders como packs
Forzar capa audio piano real reference_listener.py 2080, 3085, 7164, 7618 AUDIO KEYS SUPPORT agregado
Anclas mínimas de bass en build/drop reference_listener.py 7618 Bass sostenido en secciones
AUDIO KEYS SUPPORT tipado server.py 1130 Track específico para keys
Tests endurecidos test_piano_forward.py 151, 159, 775 Validación de audio piano real

Validación de Código

  • reference_listener.py compila
  • server.py compila
  • test_piano_forward.py pasa (incluyendo test de audio keys)
  • test_selection_coherence.py pasa

5. Open Bugs

Críticos (Bloquean cierre)

Bug Impacto Severidad
music_source_reuse_ratio = 1.0 Todo el material de un solo source CRÍTICO
coherence_score no calculada No se puede evaluar coherencia CRÍTICO
family_adherence_rate = 0.5 Familias no cohesionadas CRÍTICO

Medios (Degradan calidad)

Bug Impacto Severidad
Estructura rígida Siempre mismo patrón ⚠️ MEDIO
Drop A/B similares Sin diferenciación real ⚠️ MEDIO

Cerrados en este Sprint

Bug Fix Estado
Piano solo por hook MIDI AUDIO KEYS SUPPORT agregado CERRADO
One-shots en roles loop Rechazo explícito CERRADO
Packs genéricos Limpieza de workspace folders CERRADO
Bass sin anclas Anclas mínimas en build/drop CERRADO

6. Verdict

Completado

  • Fixes de Codex integrados
  • Tests pasando
  • Código compilado
  • Sesión generada exitosamente (74bf4cbec05e)
  • Piano audio real presente (has_audio_piano = true)
  • AUDIO KEYS SUPPORT materializado
  • pack_coherence mantiene niveles aceptables
  • library-first-hybrid confirmado
  • Hook materializado
  • Zero vocales automáticas

Pendiente

  • music_source_reuse_ratio < 0.7 (actual: 1.0)
  • coherence_score >= 6.0 (actual: None)
  • family_adherence_rate >= 0.65 (actual: 0.5)
  • Estructura menos rígida
  • Diferenciación real entre Drop A y Drop B

Evaluación de Cierre

⚠️ SPRINT NO CERRADO

Aunque se implementaron los fixes de Codex correctamente (piano audio real, rechazo de one-shots, limpieza de packs), las métricas críticas de coherencia y diversidad no mejoraron:

  1. Music source reuse ratio empeoró: 0.8 → 1.0 (más repetitivo, no menos)
  2. Coherence score no calculada: Campo vacío en manifest
  3. Family adherence sin cambio: 0.5 → 0.5

Recomendación

El sprint v0.1.26 entregó los fixes técnicos de Codex pero no logró los objetivos musicales de:

  • Menos "misma canción siempre"
  • Menos cortes/choppy
  • Más continuidad musical

Siguiente paso: v0.1.27 debe enfocarse en:

  1. Diversificar fuentes de material musical (bajar music_source_reuse_ratio)
  2. Calcular y mejorar coherence_score
  3. Aumentar family_adherence_rate
  4. Diferenciar estructuralmente Drop A vs Drop B

7. Referencias

  • Sprint v0.1.26 Next: docs/SPRINT_v0.1.26_NEXT_GLM.md
  • Session baseline: 674195e90446
  • Session nueva: 74bf4cbec05e
  • Manifests: C:/Users/ren/.abletonmcp_ai/generation_manifests.json
  • Fixes de Codex: reference_listener.py:241, 2080, 3085, 7164, 7618; server.py:1130