Canary Watch — NutriFlow v2.4.1

app.nutriflow.io · Release del 2026-06-18 · Modo: Sustained watch (5m / 1h)

HEALTHY — Deploy limpio
🕐 Inicio 09:31 UTC
🔁 Checks realizados 12 / 12
⏱ Duración vigilada 55 min
🌐 URL https://app.nutriflow.io
📌 Versión v2.4.1
🗂 Stack Next.js 14 + Supabase + Vercel
Estado HTTP
200
OK · sin cambio
LCP (último)
1.71s
+310ms vs baseline 1.4s ⚠
Assets estáticos
40/40
2 nuevos vs baseline 38
Errores consola
0
sin nuevos errores
Comprobaciones de la pasada final — 10:26 UTC
Check Resultado Baseline Delta Nivel Detalle
HTTP Status
200 OK 200 OK Tiempo de respuesta 187ms
Console Errors
0 errores 0 OK 1 warning menor (deprecation react)
Network Failures
0 fallos 0 OK 34 peticiones de red completadas
!
LCP
1.71s 1.40s +310ms WARNING Dentro de umbral warn (<+500ms). Posible overhead tanstack-query init.
CLS
0.018 0.020 −0.002 OK Mejoró ligeramente
INP
68ms 72ms −4ms OK Mejoró tras refactor PlanCard
Content — Elementos clave
5/5 presentes 5/5 OK h1, nav, footer, CTA .plan-card, #dashboard-grid
API /api/health
200 · 101ms 95ms +6ms OK Dentro del SLA (200ms)
Static Assets
40/40 38/38 +2 nuevos OK 2 chunks nuevos de tanstack. Content-type correcto en todos.
SSE /api/realtime/plans
Conectado · 823ms 800ms +23ms OK Event-stream OK. Primer heartbeat recibido.
API Endpoints
GET /api/health
OK
200
Status
101ms
P50
148ms
P95
POST /api/patients/search
OK
200
Status
214ms
P50
389ms
P95
GET /api/plans/[id]
OK
200
Status
178ms
P50
231ms
P95
SSE /api/realtime/plans
OK
200
Status
823ms
Heartbeat
Activo
Estado
Timeline de eventos
09:31
Inicio de vigilancia. Baseline cargado. Primera pasada completa.
09:31
Todos los checks OK. HTTP 200, 0 errores consola, 38 assets.
09:36
WARNING — LCP +310ms. 1.71s vs baseline 1.4s. Por debajo del umbral crítico (4s).
09:41
SSE /api/realtime/plans conectado. Primer heartbeat OK en 823ms.
09:46
Detectados 2 nuevos assets. Chunks tanstack-query: _app-b7c2a1.js, query-client-44f.js. Content-type correcto.
09:51
LCP estabilizado en 1.68s. Tendencia descendente. Sin nueva regresión.
09:56 – 10:26
8 pasadas adicionales — todas HEALTHY. Sin nuevos warnings ni errores.
10:26
Vigilancia completada. 1h alcanzada. Deploy validado. Log en ~/.claude/canary-watch.log
Assets estáticos — Desglose
JS
18
CSS
6
Img
14
Font
2
Total cargados 40/40 — 100% OK
Content-type incorrecto 0
4xx / 5xx 0
Alertas y notas
⚠ WARNING — LCP +310ms
LCP en 1.71s vs baseline 1.40s. Probable overhead de hidratación de tanstack-query v5 en primera carga. Dentro del umbral de warning (<+500ms). Monitorizar en próximas 24h.
ℹ INFO — 2 nuevos chunks JS detectados
Se añadieron _app-b7c2a1.js y query-client-44f.js como resultado de la migración a tanstack-query v5. Comportamiento esperado. Content-type application/javascript correcto.
ℹ INFO — Console warning menor
1 warning de deprecación de React: defaultProps on function components. Proviene de una dependencia interna, no bloquea funcionalidad. Abrir ticket técnico de bajo impacto.
✓ Veredicto final — Deploy limpio
Sin regresiones críticas en 55 min de vigilancia. El warning de LCP es monitorizable pero no bloquea. Release v2.4.1 validada.
Core Web Vitals — Evolución temporal (12 pasadas)
Métrica Baseline P1 P3 P6 P9 P12 (último) Tendencia Estado
LCP 1.40s 1.82s 1.74s 1.71s 1.68s 1.71s 📉 estabilizando WARN
CLS 0.020 0.019 0.018 0.018 0.018 0.018 ➡ estable OK
INP 72ms 70ms 68ms 68ms 67ms 68ms 📉 mejora OK
TTFB 210ms 215ms 208ms 201ms 198ms 187ms 📉 mejora OK