supabase9 de julio de 2026 a las 12:01 p. m.Lectura 3 min

Tu API devuelve 200 OK, pero los datos están mal 🤯

Imagina el escenario: el cliente reporta datos faltantes, revisas la base de datos y todo está ahí. Miras los logs y todas las peticiones responden con un 200 OK. No hay excepciones, no hay errores en Sentry. Solo datos

Artículo

Una lectura sobre tecnología y sistemas digitales, escrita para ir al punto y dejar claras las ideas principales.

Tema principal

computacion en la nube

Fuente

dev.to

Puntos clave

  • Imagina el escenario: el cliente reporta datos faltantes, revisas la base de datos y todo está ahí. Miras los logs y todas las peticiones responden con un 200 OK. No hay excepciones, no hay errores en Sentry. Solo datos
  • Este es el peligro de los "fallos silenciosos".
  • En ecosistemas como Supabase y PostgREST, existen comportamientos por defecto que actúan como contratos invisibles. Por ejemplo, una consulta .select() sin un .order() puede truncarse exactamente en 1000 filas sin avisar
  • El problema real no es la herramienta, sino confiar en los "vendor defaults" que no están escritos en tu repositorio.
01

Bloque 1

Imagina el escenario: el cliente reporta datos faltantes, revisas la base de datos y todo está ahí. Miras los logs y todas las peticiones responden con un 200 OK. No hay excepciones, no hay errores en Sentry. Solo datos incorrectos.

Este es el peligro de los "fallos silenciosos".

02

Bloque 2

En ecosistemas como Supabase y PostgREST, existen comportamientos por defecto que actúan como contratos invisibles. Por ejemplo, una consulta .select() sin un .order() puede truncarse exactamente en 1000 filas sin avisar. El sistema no falla; simplemente te entrega un payload incompleto.

El problema real no es la herramienta, sino confiar en los "vendor defaults" que no están escritos en tu repositorio.

03

Bloque 3

Para evitar que tu producción se convierta en un campo de minas, aplico estas 4 reglas de arquitectura:

• Materializa los defaults: Cualquier comportamiento implícito del proveedor debe convertirse en un ADR o una regla explícita en el proyecto. Si no está escrito, no existe.

04

Bloque 4

• Automatiza la guardia con ESLint: El code review humano es inútil contra patrones repetitivos. Una regla de AST (Abstract Syntax Tree) detecta la falta de un .order() en mil archivos en un segundo.

• Implementa Sondas de Deriva (Drift Probes): Los unit tests no detectan problemas de volumen o contexto de auth. Necesitas monitoreo en producción que alerte cuando un contador toque un "techo" sospechoso.

05

Bloque 5

• Docs > IA: No le preguntes a un LLM cómo funciona la versión actual de un proveedor. Lee la documentación oficial y materializa ese conocimiento en código o pruebas.

La vigilancia humana no escala. La única defensa real son las guardias materiales que impiden que una clase entera de incidentes vuelva a ocurrir.

06

Bloque 6

¿Cómo están gestionando los comportamientos implícitos de sus proveedores de Cloud para evitar estos fallos silenciosos?