Elffuss CodeProyecto del día
Proyecto del día · 6 de septiembre de 2026

Vencimientos a 60 días: la utilidad de fechas que iba a costar diez minutos

Un módulo de facturación bajo NDA, tres cláusulas de pago y una función de sumar meses que mentía. El caso de hoy se escribió entero en el IDE del navegador, con el modelo corriendo en local.

El IDE con IA local en el navegadorlocal · en el navegador

El ticket ocupaba una línea: «calcular el vencimiento según las condiciones de pago del cliente». Pago a 60 días, fin de mes, y si cae en no laborable se pasa al siguiente día hábil. Diez minutos, dijo. Nunca son diez minutos.

El proyecto es el módulo de facturación de un cliente con un NDA de los que no se leen por encima: el código no sale del portátil ni para pedir ayuda. Así que la utilidad se escribió en el IDE del navegador, con el modelo corriendo ahí mismo, sobre la GPU de quien programa. Sin servidor al que subir nada.

Dónde se rompe de verdad

Sumar meses parece trivial hasta que le metes un 31 de enero. La respuesta correcta es el 28 (o el 29) de febrero, porque el 31 no existe. Y ahí sale el detalle que se lleva por delante media implementación: sumar meses no es asociativo. Sumar uno y luego otro a un 31 de enero te deja en el 28 de marzo; sumar dos de golpe te deja en el 31. Si tu función acumula en un bucle, acabas de fabricar un bug que solo aparece en las facturas de enero y que nadie va a saber reproducir en junio.

La lista de sorpresas fue más larga:

Para qué sirve tener el modelo dentro del editor

Lo útil no fue que escribiera la función; eso lo hace cualquiera. Lo útil fue pegarle la redacción literal de las tres cláusulas y pedirle la tabla de casos: fechas de emisión en los sitios feos —31 de enero, 30 de noviembre, un 29 de febrero, el puente de diciembre— con el resultado esperado de cada una y la cláusula delante, para que no se inventara la interpretación.

De cuarenta casos, once fallaron a la primera. Nueve eran bugs. Dos eran que la cláusula estaba mal redactada, y eso acabó en un correo al cliente, que es donde acaba el trabajo bueno.

Y por qué no salió de ahí

Porque en ese prompt había las condiciones comerciales del cliente palabra por palabra, el calendario laboral con los centros que tiene abiertos y trozos de un módulo que no es tuyo. Nada de eso es un secreto de Estado, pero tampoco es material que pegues en el formulario de otra empresa y luego tengas que explicar en una revisión.

La pregunta no es si el proveedor lo guarda. Es que ya no depende de ti.

Hubo además un efecto lateral que no estaba en el plan: el tramo de tren sin cobertura. El editor seguía contestando, porque el modelo estaba en la pestaña y no al otro lado de un cable.

Abre Elffuss Code en una pestaña y escribe tu propia utilidad de fechas: el modelo corre dentro del navegador, así que ni tu código ni tus prompts suben a ningún sitio.

Abrir Code →
nada de esto se sube a ningún sitio