9.1 KiB
Sprint v0.1.25 - GLM Coherence Recovery on Top of Working Hybrid
Owner: GLM via OpenCode
Reviewer: Codex
Fecha: 2026-04-02
Baseline real vigente: 8b43f096f954
Estado de cierre v0.1.24: no cerrado
1. Verdad operativa despues del review de Codex
El reporte [SPRINT_v0.1.24_VALIDATION_REPORT.md](C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\docs\SPRINT_v0.1.24_VALIDATION_REPORT.md) quedo desactualizado durante el mismo ciclo.
Codex verifico contra:
- generation_manifests.json
- [reference_listener.py](C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\AbletonMCP_AI\AbletonMCP_AI\MCP_Server\reference_listener.py)
- [server.py](C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\AbletonMCP_AI\AbletonMCP_AI\MCP_Server\server.py)
- OpenCode real via
opencode mcp list --print-logs
Verdad real observada hoy:
-
OpenCode MCP si funciona:
ableton-mcp-ai connectedtoolCount = 77
-
Existe una sesion nueva real y persistida:
session_id = 8b43f096f954
-
El flujo hibrido volvio a aparecer en esa sesion:
reference_pathpresentegeneration_mode = library-first-hybridmandatory_midi_hook.materialized = truepiano_presence.piano_layer_count = 1- cero vocales automaticas en
audio_layers
-
Pero la coherencia sigue abierta:
family_adherence_rate = 0.5pack_coherence.overall = 0.375repetition_metrics.verdict = mixedmusic_source_reuse_ratiosigue alto
Conclusion:
- v0.1.24 recupero parte del wiring correcto
- no recupero todavia la coherencia que escucha el usuario
2. Code Review de Codex sobre lo que hizo GLM
A. El report de GLM siguio tratando al MCP como blocker cuando ya no lo era
El report afirmaba:
- cliente MCP no conectado
- validacion runtime bloqueada por OpenCode
Codex lo reprodujo y hoy OpenCode responde bien.
Regla nueva:
- no volver a usar
MCP blockercomo conclusion sin evidencia fresca del cliente y del wrapper
B. GLM si recupero el hibrido, pero no lo reconocio bien en su propio report
La sesion 8b43f096f954 demuestra:
- referencia real
- modo hibrido real
- hook MIDI real
- piano via hook
Entonces el problema ya no es "volver a salir de midi-first". El problema ahora es:
- mejorar coherencia
- dejar de repetir material
- hacer que las metricas reflejen mejor esa realidad
C. Habia dos bugs reales en la variacion armonica seccional
Codex ya corrigio:
- el
loop_stepse calculaba con el sample global en vez del sample alternativo real - el layer podia quedar persistido como si hubiera usado el asset global aunque el sample real fuese otro
Eso quedo cubierto con test real.
D. Habia dos bugs reales en las metricas de coherencia/repeticion
Codex ya corrigio:
repetition_metricsagrupaba demasiadas fuentes comounknown- la extraccion de
packenreference_listener.pydevolvia valores basura como:snarepadperc_loop
Eso hacia que:
dominant_packsquedara contaminado- la coherencia por buses fuera poco confiable
- el analisis anti-loop perdiera precision
E. El foco correcto ya cambio
No quiero otro sprint centrado en:
- reference fallback
- hook inexistente
- MCP blocker
Eso ya no es el cuello principal.
Ahora el cuello principal es:
- coherencia musical real
- coherencia de packs real
- reducir la sensacion de misma cancion
3. Fixes ya aplicados por Codex en este turno
server.py
Codex agrego _extract_music_source_key() y lo conecto a repetition_metrics para que use metadata real de source/pack/path en vez de agrupar todo como unknown.
reference_listener.py
Codex unifico la extraccion de pack hacia _extract_pack_from_path() y corrigio heuristicas para reconocer mejor:
ss_rnblmidilatinosentimientolatino2025reggaeton 3bigcayudastindrumloops
Ademas elimino la degradacion a nombres de rol como snare, kick, pad, perc_loop.
test_piano_forward.py
Codex endurecio tests para verificar:
- variacion armonica usando el sample real
- extraccion de source key desde paths reales
- extraccion de pack desde paths reales
GLM no debe revertir estos cambios.
4. Objetivo real del sprint
Con el hibrido ya recuperado, el objetivo ahora es elevar coherencia real y reducir la sensacion de track repetido.
Prioridades:
- mejorar coherencia armonica
- mejorar coherencia de packs por bus
- mantener creatividad sin volver al mismo tema
- conservar el flujo
library-first-hybrid - mantener cero vocales automaticas
5. Reglas no negociables
-
Trabajar solo en el arbol canonico:
C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts
-
No reabrir vocals automaticas.
-
No romper el flujo recuperado:
reference_pathpresentegeneration_mode = library-first-hybridmandatory_midi_hook.materialized = true
-
No usar
MCP blockercomo comodin. -
No cerrar el sprint si las metricas mejoran solo por parsing pero el audio sigue igual.
-
No aceptar
dominant_packscon nombres de rol o placeholders.
6. Trabajo obligatorio para GLM
P0. Mejorar coherencia sobre el flujo hibrido que ya funciona
Tomar 8b43f096f954 como baseline real.
Objetivos minimos:
family_adherence_ratesubir de0.5a>= 0.75pack_coherence.overallsubir de0.375a>= 0.6- mantener
library-first-hybrid
P1. Arreglar coherencia de packs por bus de verdad
Usando los fixes de Codex ya integrados, GLM tiene que revisar por que:
- drums
- music
- fx
siguen mezclando material de forma poco consistente.
Quiero especial foco en:
dominant_packspack_coherence- seleccion de drum layers
- seleccion de material armonico principal
No me sirve una cancion donde:
- el hook esta bien
- pero drums/music/fx parecen venir de mundos distintos
P2. Reducir sensacion de misma cancion sin destruir coherencia
Ahora que synth_loop y bass_loop ya pueden variar:
- validar que la diversidad se escuche en el material principal
- no solo en FX y adornos
Tenes que demostrar contraste real entre:
- intro
- build
- drop
- break
pero sin bajar la coherencia armonica.
P3. Validar con metricas que ya no sean ciegas
Con los fixes de Codex, el proximo report ya no puede decir:
unknownpara casi tododominant_packinventado por rol
Tenes que mostrar:
source_distributionutildominant_packsplausiblespack_coherenceconsistente con el material seleccionado
P4. OpenCode / MCP
No hay que rediseñar la config. OpenCode hoy conecta.
Solo si vuelve a fallar, documenta:
- comando exacto
- hora
- salida real
- si
opencode mcp list --print-logsconecta o no
Sin eso, no lo uses como blocker.
7. Casos de test obligatorios
Minimo tenes que dejar o endurecer tests para:
dominant_packsno use nombres de rol como pack_extract_pack_from_path()resuelva tokens reales de libreriarepetition_metrics.source_distributionno colapse enunknownpack_coherencemantenga shape correcto- el flujo con referencia siga en
library-first-hybrid - el hook MIDI siga materializandose
- cero vocales automaticas siga estable
No borres tests de Codex.
8. Validacion final obligatoria
Al final del sprint tenes que generar una sesion nueva real con:
genre = reggaetonstyle = perreo duro vieja escuela tipo safaera- referencia:
libreria\reggaeton\ejemplo.mp3
Y demostrar con session_id nuevo y persistido:
reference_pathpresentegeneration_mode = library-first-hybridmandatory_midi_hook.materialized = truepiano_presence.piano_layer_count >= 1family_adherence_rate >= 0.75pack_coherence.overall >= 0.6repetition_metrics.verdict != repetitive- cero vocals automaticas
Criterio auditivo obligatorio
En el report final tenes que explicar:
- que mejoro en coherencia respecto de
8b43f096f954 - que material principal dejo de sonar tan repetido
- por que la cancion sigue siendo una misma obra coherente y no un collage
Si no podes justificar eso claramente, no esta cerrado.
9. Formato obligatorio del validation report
El archivo final debe llamarse:
SPRINT_v0.1.25_VALIDATION_REPORT.md
Y debe tener estas secciones, en este orden:
Runtime TruthCode ChangesBugs Fixed From Codex ReviewFresh Session EvidenceManifest MetricsCoherence Delta vs 8b43f096f954Anti-Same-Song ValidationManual Vocal Policy ValidationOpen IssuesVerdict
Reglas del report
- No decir que OpenCode esta bloqueado sin evidencia reproducible.
- No usar una sesion vieja si ya existe una mas nueva.
- No usar lenguaje hipotetico tipo
should now. - Si la coherencia sigue floja, decirlo.
- Si algun dominant pack sale con nombre de rol, marcarlo como bug.
10. Definicion de done real
Este sprint solo cierra si:
- el flujo hibrido sigue estable
- la coherencia sube de forma medible
- las metricas dejan de mentir sobre packs y fuentes
- la cancion deja de sentirse como la misma de siempre
- no reaparecen vocals automaticas
Si falla cualquiera de esos cinco puntos, no esta cerrado.