# Plane sync report — MD Karaoke Fest

> **Generado**: 2026-05-14 (~8h antes del evento del 2026-05-15)
> **Workspace**: `zensit-hybrid`
> **Project**: MDK — `b1e167e5-8daa-4ba1-a029-3d142ad9a118`
> **URL**: https://tasks.sistemasitpro.com/zensit-hybrid/projects/b1e167e5-8daa-4ba1-a029-3d142ad9a118/issues/

## Resumen

- **Estado previo**: 11 issues (5 Done, 6 Backlog)
- **Estado actual**: 30 issues (6 Done, 16 Todo, 8 Backlog)
- **Issues cerrados hoy**: 1 (MDK-5 — completado parcialmente, 38/44 LRC obtenidos)
- **Issues nuevos creados**: 19 (6 urgent + 5 high + 5 medium + 3 low)

## Issues cerrados hoy (1)

| ID | Título | Razón |
|---|---|---|
| MDK-5 | Buscar LRC para 11 canciones sin letra | 38/44 canciones con LRC (87%). Quedan 6 regionales — se cubren en MDK-23 (nuevo, más específico) |

## Issues que ya estaban Done previamente (5)

Verificados, siguen Done — no se tocan:

- MDK-1: Verificar vocal removal en canciones por género (urgent)
- MDK-2: Probar sistema micrófono inalámbrico (mic.html + WebSocket) (urgent)
- MDK-3: Confirmar LRC canción 06 Dani J Villano (urgent)
- MDK-4: Fix CSS letras estilo Shazam — glow visible en línea activa (urgent)
- MDK-8: Instalar pulseaudio-utils (necesario para pacat) (medium)

## Issues nuevos creados (19)

### URGENT — Día del evento (6, todos en Todo)

| ID | Título |
|---|---|
| MDK-12 | Desplegar stack completo en Lenovo del evento |
| MDK-13 | Verificar audio HDMI sale por TV del Lenovo |
| MDK-14 | Verificar getDefaultSink NO es karaoke_mic en Lenovo |
| MDK-15 | Decidir método acceso público final (LAN-only / Funnel / CF Tunnel / Edge) |
| MDK-16 | Test mic con 4+ móviles simultáneos antes del evento |
| MDK-17 | Cambiar password admin para producción si se expone públicamente |

### HIGH — Importantes (5, todos en Todo)

| ID | Título |
|---|---|
| MDK-18 | Mover stack al Lenovo (admin, mic-server, npx serve) |
| MDK-19 | Configurar Tailscale en Lenovo si se usa Funnel |
| MDK-20 | Imprimir / regenerar QR mic-join con IP actual del Lenovo |
| MDK-21 | Setup WiFi AP en Lenovo (opcional pero recomendado) |
| MDK-22 | Limpiar duplicado canción de test "Sexy Chick 45" si no se quiere |

### MEDIUM — Nice to have (5, todos en Todo)

| ID | Título |
|---|---|
| MDK-23 | Conseguir LRC para las 6 canciones regionales pendientes |
| MDK-24 | Grabación del evento para memoria |
| MDK-25 | Welcome screen para cantantes en mic-join |
| MDK-26 | Mejorar tipografía móvil en player |
| MDK-27 | Dashboard métricas en vivo (cantantes conectados, latencia, CPU) |

### LOW — Decisiones pendientes (3, todos en Backlog)

| ID | Título |
|---|---|
| MDK-28 | DEC — ¿Mantener Tailscale Funnel o cambiar a CF Tunnel con custom domain? |
| MDK-29 | DEC — ¿Activar WiFi AP en Lenovo o solo público via tunnel? |
| MDK-30 | DEC — ¿Permitir cantantes pedir canciones libremente o solo playlist preaprobada? |

## Issues en Backlog que NO se tocaron (5)

Decisión: mantener en Backlog porque siguen aplicando:

- MDK-6 (medium): Calibrar offsets LRC en playground canción por canción — no realizado
- MDK-7 (medium): Hacer persistente el virtual audio sink (PipeWire) — `setup-mic-sink.sh` lo monta on-demand pero NO es persistente
- MDK-9 (low): Modularizar con SDD — separar API de frontend (post-evento)
- MDK-10 (low): Panel de admin para gestión de playlist (post-evento)
- MDK-11 (low): Aplicar audio-separator ML para mejor vocal removal (post-evento)

## Distribución final por prioridad

| Prioridad | Done | Todo | Backlog | Total |
|---|---|---|---|---|
| urgent | 4 | 6 | 0 | 10 |
| high | 0 | 5 | 0 | 5 |
| medium | 2 | 5 | 2 | 9 |
| low | 0 | 0 | 6 | 6 |
| **Total** | **6** | **16** | **8** | **30** |

## Notas operativas

- **Módulos existentes** (no se modificaron): `Urgente — Evento inminente`, `Media prioridad — Calidad y setup`, `Post-evento — Refactor y mejoras ML`. Los issues nuevos quedan SIN módulo asignado — el operador puede arrastrarlos desde la UI Plane a los módulos correspondientes.
- **Labels**: no se tocaron (no había labels en uso).
- **API token**: cargado desde `~/.config/zensit-plane.env` (var `PLANE_API_TOKEN`). Plane usa header `X-Api-Key`, NO `Authorization: Bearer`.
- **Endpoint patch issue**: requiere el UUID completo del issue, no el prefijo corto.

## Bloqueos

Ninguno. Sync completado limpio.
