# Notas sueltas / aprendizajes > **TODO (fase 2+):** esto es un scratchpad estructurado, no un > playbook — va creciendo con notas cortas a medida que aparecen. Las > entradas de abajo son semillas reales extraídas de incidentes ya > documentados; expandir cada una con más contexto en fases siguientes. ## Qué haría distinto - **Fijar `TUNNEL_TRANSPORT_PROTOCOL=http2` desde el día uno**, no después de un incidente — QUIC/UDP sobre NAT doméstico fue un problema predecible en retrospectiva. Ver [ADR 0003](../decisiones/0003-por-que-http2-sobre-quic-tunnel.md). - **Separar siempre "chequeo de disponibilidad" de "migraciones"** en init containers distintos, y que el chequeo use el mínimo de parámetros posible (host/puerto/usuario/db) en vez de reusar una URI de conexión pensada para la app. Confirmado como decisión correcta en el [incidente de crashloop de Medusa](../playbooks/incidente-crashloop-medusa.md). ## Gotchas de Medusa v2 - El Store API (`/store/products`, validado por `StoreGetProductsParams`, `.strict()`) **no acepta** `currency_code` ni `country_code` para resolver precios calculados — solo `region_id` explícito. Ver [playbook de precios](../playbooks/incidente-precios-medusa.md). - El campo `thumbnail` de un producto **no se autocompleta** a partir del array `images` — hay que setearlo explícito desde el Admin si el frontend lo usa como imagen hero en listados. ## TODO - Notas sobre MinIO / S3 provider. - Notas sobre el subscriber `revalidate-storefront.ts` y sus límites. - Qué automatizaría si volviera a montar este lab desde cero.