Sync: Complete project state with all MEGA SPRINT V1-V3 features and Codex stubs
This commit is contained in:
242
docs/SPRINT_v0.1.27_VALIDATION_REPORT.md
Normal file
242
docs/SPRINT_v0.1.27_VALIDATION_REPORT.md
Normal file
@@ -0,0 +1,242 @@
|
||||
# SPRINT v0.1.27 — VALIDATION REPORT
|
||||
## Continuity First, Piano Melodies, Smarter Drum Coherence
|
||||
|
||||
**Owner:** GLM via OpenCode
|
||||
**Reviewer:** Codex
|
||||
**Fecha:** 2026-04-02
|
||||
**Baseline:** `0345711a8749`
|
||||
**Nueva Sesión:** `c3aa8a7e8fa3`
|
||||
**Estado:** ⚠️ PARCIAL - Mejoras en continuidad pero métricas críticas pendientes
|
||||
|
||||
---
|
||||
|
||||
## 1. Runtime Truth
|
||||
|
||||
### Comparativa de Sesiones
|
||||
|
||||
| Métrica | 0345711a8749 (Baseline) | c3aa8a7e8fa3 (Nueva) | Delta | Target |
|
||||
|---------|------------------------|---------------------|-------|--------|
|
||||
| `session_id` | 0345711a8749 | **c3aa8a7e8fa3** | - | - |
|
||||
| `generation_mode` | library-first-hybrid | library-first-hybrid | = | library-first-hybrid ✅ |
|
||||
| `hook.materialized` | True | True | = | True ✅ |
|
||||
| `coherence_score` | None | **None** | = | >= 6.0 ❌ |
|
||||
| `family_adherence_rate` | 0.5 | **0.5** | = | >= 0.65 ❌ |
|
||||
| `pack_coherence.overall` | 0.75 | **0.75** | = | >= 0.6 ✅ |
|
||||
| `piano.has_audio_piano` | True | True | = | True ✅ |
|
||||
| `piano.audio_piano_count` | 1 | 1 | = | >= 1 ✅ |
|
||||
| `repetition_verdict` | mixed | **mixed** | = | != repetitive ❌ |
|
||||
| `music_source_reuse_ratio` | 1.0 | **1.0** | = | < 0.8 ❌ |
|
||||
| `identical_section_signatures` | 1 | **2** | ❌ +1 | 0 ❌ |
|
||||
| `audio_layers_count` | 14 | **12** | -2 | > 0 ✅ |
|
||||
| `vocal_layers_auto` | 0 | 0 | = | 0 ✅ |
|
||||
|
||||
### Hallazgos Clave
|
||||
|
||||
1. **No hay AUDIO PIANO MELODY** - Solo existe AUDIO KEYS SUPPORT (chords)
|
||||
2. **music_source_reuse_ratio sigue en 1.0** - Todo de midilatino
|
||||
3. **coherence_score no calculada** - Campo vacío en manifest
|
||||
4. **SS_RNBL_Me_Gustas_One_Shot_Snare.wav sigue seleccionado** - 144 positions
|
||||
5. **Más secciones idénticas** - 2 vs 1 en baseline
|
||||
|
||||
---
|
||||
|
||||
## 2. Manifest Evidence
|
||||
|
||||
### Audio Layers Detallados - Nueva Sesión (c3aa8a7e8fa3)
|
||||
|
||||
**SYNTH/BASS/TOP - Continuidad mejorada:**
|
||||
```
|
||||
- AUDIO SYNTH LOOP [synth_loop]: 6 positions (vs 1 en baseline) ✅ MEJORÓ
|
||||
- AUDIO SYNTH PEAK [synth_loop]: 2 positions (vs 2+2+2 en baseline) - Consolidado
|
||||
- AUDIO BASS LOOP [bass_loop]: 2 positions (vs 3 en baseline) - Similar
|
||||
- AUDIO TOP LOOP [top_loop]: 17 positions + 4 variant (vs 12+10) ✅ MEJORÓ
|
||||
```
|
||||
|
||||
**PIANO/KEYS:**
|
||||
```
|
||||
- AUDIO KEYS SUPPORT [chords]: 12 positions
|
||||
source: midilatino_gracias_c#_min_102bpm_bell_chords.wav
|
||||
- AUDIO PIANO MELODY: NO PRESENTE ❌
|
||||
```
|
||||
|
||||
**SNARE - Selectividad:**
|
||||
```
|
||||
- AUDIO CLAP [snare]: 144 positions
|
||||
source: ss_rnbl_me_gustas_one_shot_snare.wav
|
||||
pack: unknown
|
||||
```
|
||||
|
||||
**SOURCE DISTRIBUTION:**
|
||||
```
|
||||
- midilatino: 4 (100% del material musical)
|
||||
- No hay diversidad de packs en music bus
|
||||
```
|
||||
|
||||
### Repetition Metrics Comparativa
|
||||
|
||||
| Métrica | Baseline | Nueva | Estado |
|
||||
|---------|----------|-------|--------|
|
||||
| `verdict` | mixed | mixed | ⚠️ |
|
||||
| `music_source_reuse_ratio` | 1.0 | 1.0 | ❌ |
|
||||
| `identical_section_signatures` | 1 | 2 | ❌ PEOOR |
|
||||
| `harmonic_loop_reuse_ratio` | 0.0 | 0.0 | ✅ |
|
||||
|
||||
---
|
||||
|
||||
## 3. Audible Outcome
|
||||
|
||||
### Mejoras Confirmadas
|
||||
|
||||
1. **✅ Continuidad de synth_loop mejorada**
|
||||
- De 1 position a 6 positions
|
||||
- Menos "cortado", más sostenido
|
||||
|
||||
2. **✅ TOP LOOP más consolidado**
|
||||
- 17 + 4 positions (vs 12 + 10 en baseline)
|
||||
- Mejor continuidad rítmica
|
||||
|
||||
3. **✅ Menos fragmentación en synth_peak**
|
||||
- De 3 layers a 1 layer consolidado
|
||||
- Menos "picado"
|
||||
|
||||
### Problemas Auditivos Persistentes
|
||||
|
||||
1. **❌ NO HAY PIANO MELÓDICO**
|
||||
- AUDIO PIANO MELODY no apareció
|
||||
- Solo existe AUDIO KEYS SUPPORT (acordes/armónico, no melódico)
|
||||
**Causa:** No hay samples de piano/keys melódicos en la librería
|
||||
|
||||
2. **❌ SNARE AGRESIVO PREDETERMINADO**
|
||||
- SS_RNBL_Me_Gustas_One_Shot_Snare.wav sigue siendo seleccionado
|
||||
- 144 positions, presente en todas las secciones
|
||||
- No hay evidencia de selectividad contextual funcionando
|
||||
|
||||
3. **❌ SIN DIVERSIDAD DE FUENTES**
|
||||
- music_source_reuse_ratio = 1.0
|
||||
- Todo el material musical de midilatino
|
||||
- Sin contraste de packs
|
||||
|
||||
4. **❌ COHERENCIA NO CALCULADA**
|
||||
- coherence_score = None
|
||||
- No se puede evaluar si mejoró el criterio general
|
||||
|
||||
---
|
||||
|
||||
## 4. Code Changes
|
||||
|
||||
### Fixes de Codex Integrados (Revisados)
|
||||
|
||||
| Fix | Ubicación | Estado | Resultado |
|
||||
|-----|-----------|--------|-----------|
|
||||
| Eliminación de vaciado artificial en Drop B | reference_listener.py | ✅ Aplicado | Drop B tiene material real |
|
||||
| Preservación de variantes seccionales | reference_listener.py | ✅ Aplicado | SYNTH LOOP: 6 positions |
|
||||
| AUDIO PIANO MELODY | reference_listener.py:7777 | ⚠️ Código existe | **No se activó - falta material en librería** |
|
||||
| music_source_reuse_ratio por sample | server.py | ⚠️ Código existe | **Sigue midiendo 1.0** |
|
||||
| section_character_bonus call-order | reference_listener.py:6379 | ✅ Corregido | **Sin evidencia de mejora en ranking** |
|
||||
| Selectividad contextual snare/clap | sample_selector.py | ⚠️ Aplicado | **SS_RNBL snare sigue ganando** |
|
||||
|
||||
### Análisis de Código Existente
|
||||
|
||||
El código para AUDIO PIANO MELODY existe y está funcionando:
|
||||
|
||||
```python
|
||||
# reference_listener.py:7190-7263
|
||||
- Busca candidatos con _score_piano_melody_candidate()
|
||||
- Filtra por: piano, keys, rhodes, keyboard, epiano, steinway, grand
|
||||
- Crea layer AUDIO PIANO MELODY en línea 7777
|
||||
```
|
||||
|
||||
**Problema:** La librería no tiene material melódico de piano/keys. Solo tiene:
|
||||
- `midilatino_gracias_c#_min_102bpm_bell_chords.wav` (chords/armónico)
|
||||
|
||||
El scorer prioriza material melódico, pero si no existe, no puede crear el layer.
|
||||
|
||||
---
|
||||
|
||||
## 5. Open Bugs
|
||||
|
||||
### Críticos (Bloquean cierre)
|
||||
|
||||
| Bug | Severidad | Evidencia |
|
||||
|-----|-----------|-----------|
|
||||
| No hay piano melódico real | ❌ CRÍTICO | AUDIO PIANO MELODY ausente, solo chords disponible |
|
||||
| Coherence score no calculada | ❌ CRÍTICO | Campo None en manifest |
|
||||
| Snare agresivo predeterminado | ❌ CRÍTICO | SS_RNBL snare: 144 positions en todas las secciones |
|
||||
| Sin diversidad de fuentes | ❌ CRÍTICO | music_source_reuse_ratio = 1.0 |
|
||||
| Más secciones idénticas | ❌ CRÍTICO | 2 vs 1 en baseline |
|
||||
|
||||
### Medios
|
||||
|
||||
| Bug | Severidad | Evidencia |
|
||||
|-----|-----------|-----------|
|
||||
| Family adherence sin mejora | ⚠️ MEDIO | 0.5 estable, sin cambio |
|
||||
| Bass loop menos positions | ⚠️ MEDIO | 2 vs 3 en baseline |
|
||||
|
||||
---
|
||||
|
||||
## 6. Verdict
|
||||
|
||||
### Completado ✅
|
||||
|
||||
- [x] Validación de nueva sesión generada (c3aa8a7e8fa3)
|
||||
- [x] Comparativa vs baseline (0345711a8749)
|
||||
- [x] Continuidad mejorada en synth_loop (6 positions)
|
||||
- [x] TOP LOOP más consolidado (21 positions total)
|
||||
- [x] Menos fragmentación de synth_peak
|
||||
- [x] Código de Codex revisado y confirmado aplicado
|
||||
|
||||
### Pendiente ❌
|
||||
|
||||
- [ ] **PIANO MELÓDICO REAL** - No existe material en librería
|
||||
- [ ] **COHERENCE SCORE >= 6.0** - No calculada
|
||||
- [ ] **FAMILY ADHERENCE >= 0.65** - 0.5 sin mejora
|
||||
- [ ] **MUSIC SOURCE REUSE < 0.8** - 1.0 sin mejora
|
||||
- [ ] **SNARE CONTEXTUAL** - SS_RNBL sigue ganando sin selectividad visible
|
||||
- [ ] **REPETITION VERDICT != repetitive** - Sigue en "mixed"
|
||||
- [ ] **SECCIONES IDÉNTICAS = 0** - Aumentó a 2
|
||||
|
||||
### Bloqueo Principal
|
||||
|
||||
**La librería de samples no contiene material melódico de piano/keys.**
|
||||
|
||||
El código está preparado para usarlo (AUDIO PIANO MELODY existe en server.py:1131 y se crea en reference_listener.py:7777), pero no hay samples que satisfagan el criterio de melodía real.
|
||||
|
||||
Material necesario:
|
||||
- `piano_melody_*.wav`
|
||||
- `keys_lead_*.wav`
|
||||
- `rhodes_melodic_*.wav`
|
||||
- `keyboard_theme_*.wav`
|
||||
|
||||
Material disponible:
|
||||
- `midilatino_gracias_*_bell_chords.wav` (armónico/chordal, no melódico)
|
||||
|
||||
### Recomendación
|
||||
|
||||
**Para cerrar v0.1.27 se necesita:**
|
||||
|
||||
1. **Agregar material melódico de piano/keys a la librería** - Sin esto, AUDIO PIANO MELODY nunca aparecerá
|
||||
|
||||
2. **Debug de coherence_score** - Investigar por qué no se calcula/persiste
|
||||
|
||||
3. **Debug de music_source_reuse_ratio** - Con el fix de Codex debería medir por sample, pero sigue dando 1.0
|
||||
|
||||
4. **Verificar selectividad de snare** - El section_character_bonus existe pero no está cambiando el ranking observablemente
|
||||
|
||||
### Estado del Sprint
|
||||
|
||||
**⚠️ NO CERRADO**
|
||||
|
||||
Los objetivos musicales no se lograron por:
|
||||
- Limitación de librería (sin piano melódico)
|
||||
- Métricas críticas sin mejorar (coherence, family adherence, source reuse)
|
||||
- Selectividad de drums no demostrada
|
||||
|
||||
---
|
||||
|
||||
## 7. Referencias
|
||||
|
||||
- Sprint v0.1.27 Next: `docs/SPRINT_v0.1.27_NEXT_GLM.md`
|
||||
- Session baseline: `0345711a8749`
|
||||
- Session nueva: `c3aa8a7e8fa3`
|
||||
- Manifests: `C:/Users/ren/.abletonmcp_ai/generation_manifests.json`
|
||||
- Librería: 510 samples, sin piano melódico identificado
|
||||
Reference in New Issue
Block a user