Files
ableton-mcp-ai/docs/SPRINT_NEXT_KIMI_GRANULAR_PART2.md

4.1 KiB

INSTRUCCIONES ESTRICTAS PARA KIMI - GRANULAR SPRINT PART 2

Destinatario: KIMI (K2.5 u otro modelo executor) Orquestador: Antigravity (tu supervisor de software) Fecha: 2026-04-05

¡Hola, Kimi! Soy el arquitecto del proyecto. Necesito que te encargues de ejecutar el 100% de las tareas descritas en el archivo maestro: 📁 docs/GRANULAR_SPRINT_PART2_T101_T200.md

Antes de empezar a programar y realizar modificaciones, debes grabar a fuego las siguientes Reglas Críticas de Sistema para este Sprint, ya que estarás modificando la base estructural del servidor MCP de Ableton:

1. Contexto de Entorno (¡NO ESTAMOS EN WSL!)

En el sprint anterior hiciste un gran trabajo implementando el motor espectral, pero modificaste server.py y abletonmcp_init.py para usar WSL (0.0.0.0 y parseo de IPs en bash).

  • YO YA LO REVERTÍ. He devuelto todo a nativo Windows (HOST = "127.0.0.1").
  • NO INTENTES bajo ningún concepto volver a tocar el HOST para WSL, ni usar rutas de Linux (/mnt/c/...). Quédate en modo Windows Nativo Absoluto (C:\ProgramData\...).

2. Precaución con la Indentación en Python (¡BUG CRÍTICO PREVIO!)

En la Tarea 46 del sprint de ayer, creaste la función _create_clap_pattern en song_generator.py pero la insertaste en el "NIVEL RAIZ" (columna 0), destruyendo por completo la clase y generando un IndentationError masivo que inhabilitaba el servidor entero.

  • NO repitas este error.
  • ✔️ Cuando agregues métodos de clase, asegúrate de añadir exactamente 4 espacios iniciales ( def mi_metodo(self):). Revisa tus reemplazos de texto cuidadosamente.

3. Manejo de "Access Denied" en coherence_analyzer.py

Han quedado tareas "colgadas" (T072 - T080 relacionadas con MirrorSectionMetric) del Bloque D del informe.

  • Intenta hacerlas aplicando tus reemplazos al archivo coherence_analyzer.py pero SI OpenCode te arroja Access Denied o permisos insuficientes... IGNÓRALO.
  • No te enfrasques intentando usar powershell o comandos administrativos para sobreescribirlo si el sistema se resiste. Simplemente anótalo en tu reporte final como "Requiere bypass de usuario por bloqueo Admin" y salta directamente a avanzar la Tarea T101. No destruyas tu ejecución por culpa de ese archivo.

4. Librosa y Errores de Numba Caching

Cuando llegues a la parte de añadir extract_grain() y demás bondades de Texturización Granular (Bloque G), vas a lidiar con librosa.

  • Durante la ejecución o testeo de librerías, es muy posible que Python lance un Warning PermissionError: [Errno 13] Permission denied: 'C:\Python314\Lib\site-packages\numba...' buscando grabar caché.
  • Es completamente normal en un entorno no-administrador. Usa tus "Graceful Fallbacks" (tus envoltorios de bloque try/except) que ya pusiste para librosa para que el código no crashee la ejecución real ni cuelgue los scripts al ser testeado, tal y como te lo dictamina la T140.

🚀 PASOS A SEGUIR AHORA MISMO

  1. Lectura Completa: Abre y lee todo docs/GRANULAR_SPRINT_PART2_T101_T200.md.
  2. Implementación Secuencial: Ve haciéndolo por Bloques. Tu lista incluye tareas extensas (T101 a T200):
    • Bloque F: Gain Staging. Todo se define en sample_selector.py y validación de outputs.
    • Bloque G: Escribe un archivo COM-PLE-TA-MEN-TE NUEVO para melody_generator.py. Lee los requerimientos del plan y mapea toda la generación de acordes.
    • Bloque H: Automatizaciones y FX en arrangement_intelligence.py (Crashes, Builds, etc).
    • Bloque I & J: Setup final, QA Post-Master y tests.
  3. No uses bash de Linux para tests, usa Pytest pero acuérdate que como estamos en Windows usa:
    • python -m unittest discover tests\ en lugar de pytest si este último dice que el módulo no se encuentra. También usa la compilación nativa de python: python -m py_compile module.py.
  4. Reporte Final: Escribe un reporte en docs/SPRINT_GRANULAR_PART2_COMPLETION_REPORT.md igual de detallado que el de ayer.

Entendido esto: ¡Arranca tu análisis, procesa el Sprint maestro al pie de la letra y demuestra por qué te contratamos! 🛠️