Saltar al contenido
oracle

por qué oracle

Un verde que no mide nada es peor que un rojo.

Un rojo te dice que algo está mal. Un verde vacío te dice que está todo bien cuando nadie miró. Oracle existe para que cada verde diga qué midió, con qué número y qué quedó sin mirar.

una historia real

Un agente construyó una batalla naval «con Oracle». El test dio verde.

En septiembre de 2026 le pedimos a un agente de programación el mismo juego dos veces: una batalla naval con Oracle y otra sin Oracle. Las dos versiones funcionaban. La versión con Oracle tenía su catálogo de medidas, su corpus y un oracle test en verde.

Al revisarla encontramos que el catálogo estaba vacío. El único caso del corpus validaba la sintaxis de un archivo, no una regla del juego. Ninguna medida sabía qué era un barco, una casilla o un turno. El verde era cierto y no decía nada: se podía borrar la lógica del juego y seguía verde.

El defecto era de Oracle, y lo arreglamos en Oracle:

  • oracle test ahora termina diciendo su alcance (qué verificó) y que no volvió a medir el producto.
  • Un proyecto sin medidas propias sale sin medición, no verde.
  • Hay un camino corto a la primera regla real del producto: del juego a un hecho exportado, a una medida y a un veredicto. Es el ejemplo del barco en la fila 10 de la portada.

El postmortem completo, con las cifras de cada versión y lo que no se pudo sostener, está en el repositorio.

qué cambia

Un test verifica una función. Una medida vigila una regla del proyecto.

Un test unitarioUna medida de Oracle
Qué mirael código, llamándolohechos que un sensor exporta del producto
Dónde vivejunto al código que pruebaen un catálogo aparte, con su propio historial
El umbralimplícito en el assertexplícito, con segun: contrato, medición, convención o tanteo
Lo que no veno lo dicelo declara en alcance, obligatorio
Al fallaruna excepciónel valor, el umbral y las filas que ofendieron
Si falta el datodepende de cómo se escribiórequiere: sale sin evidencia, nunca verde
Quién la vigilanadie, salvo mutación de código apartela mutación de medidas, siempre: si un caso no la nota, se sabe

No compiten. Los tests siguen verificando funciones; las medidas vigilan lo que el proyecto promete de sí mismo, con la evidencia a la vista.

cinco niveles

De dónde sale cada dato, hasta el catálogo que se juzga a sí mismo.

Un veredicto vale lo que vale el dato que lo sostiene. Por eso Oracle separa cinco pisos: qué se observó, con qué instrumento, qué filas salieron, qué regla las juzga y quién vigila a las reglas. Si un piso falla, se sabe cuál, en vez de desconfiar de todo.

  1. L2El catálogo se juzga a sí mismomedidas sobre las medidas: toda medida declara su alcance, ninguna sombra supera su cota
  2. L1Medidasreglas escritas en Oracle, con umbral, defensa y alcance
  3. L0Hechosfilas planas, sin opinión: lo que el sensor vio
  4. L−1El sensorunidades, límites y de qué programa salió cada fila
  5. L−2El referentequé archivo o corrida se observó, con su huella, para saber si sigue vigente

Cada nivel se apoya en el de abajo y lo puede poner en duda. La decisión completa está en la decisión 005.

programar con agentes

Cuanto menos mira un humano, más hace falta un juez que no sea el autor.

Un agente que escribe código y sus tests en la misma pasada se da la razón a sí mismo. Oracle pone las reglas afuera, de sólo lectura para el agente, y le devuelve un rojo con el testigo exacto que tiene que corregir.

Cuando el agente trabaja solo, Oracle hace de andamiaje: cada paso se juzga con medidas deterministas, y el humano entra cuando quiere, no porque el agente necesite que alguien le diga si está bien.

El agente escribe, Oracle juzga, el agente corrige con el testigo.

cuándo no

Cuándo Oracle no es lo que necesitás.

empezar

Tu primer rojo, en cinco minutos.

Instalar, escribir una medida y verla fallar con sus testigos.

De cero a un rojo