
Expediente 63/0: el almacén bitemporal escrito en un solo tiempo
El modelo bitemporal estaba construido, probado y declarado en un ADR aceptado: retracción, los dos tiempos, hechos superseded y no sobrescritos. El código que lo alimentaba no emitía una sola retracción, dejaba el segundo tiempo vacío siempre y reiniciaba el reloj en cada pasada, archivando julio debajo de mayo. Convivieron meses en el mismo repositorio contradiciéndose, y nada tenía autoridad para leerlos en la misma frase. No hubo síntoma: la validación del grafo respondía 61 nodos, 175 aristas, 0 hallazgos — y era cierto, porque medía otra cosa. La primera reconciliación real destapó 426 retracciones pendientes.

Expediente 0/2: el mapa leído como territorio
Reportó qué quedaba por hacer con dos afirmaciones categóricas: no había un solo commit, y el instalador estaba roto porque un volumen no estaba montado. Las dos eran falsas, y las dos estaban a una sola consulta del sustrato. Se leyeron del mapa que el agente llevaba en contexto y se dieron por el territorio. Lo detectó el operador, no un check.

Expediente 8/4: la disciplina sin disparador
En cuatro horas de sesión se dijeron ocho cosas falsas con total aplomo, y siete eran negativas: la certeza de quien solo sabe que él no lo ha encontrado. No faltaban reglas que lo prohibieran. Había cuatro — la disciplina ondaod, el principio afirmación⇒testigo con su ADR aceptado, un howto de 267 líneas y un modo de once pasos. Declaradas, canónicas, consultables. Ninguna disparó: cada una mordió exactamente una vez, cuando el humano la señaló. Un mecanismo así no es una puerta: es un cartel.

Expediente 11/530: el criterio que se acreditó a sí mismo
El paciente no refería molestia alguna: trabajaba deprisa, concluía con firmeza y acertaba a menudo. No hubo dolor ni alarma. A los 41 minutos, un tercero preguntó de dónde salían los criterios que estaba usando. De ningún sitio: los había fabricado él y se los había dado por buenos. El axioma nombra al agente por su nombre — lo deducido no es conocimiento usable hasta que está firmado.

Expediente 2/16: el arreglo que no arregló nada
Dieciséis de veinte páginas servían el nombre de una clave rota como título, a 200, incluidas la política de privacidad y el aviso legal. Encontré la derivación culpable, la arreglé, recompilé, y el build salió en verde. Los dieciséis títulos siguieron igual: la clave se calcula en DOS crates y arreglé el que la cabecera no lee. Y mientras lo perseguía, descubrí que la respuesta guardada del proyecto —verificada, con fecha— afirmaba que un mecanismo no existía. Existía, aplicado, con su variable de entorno exportada. Un build en verde no dice que el arreglo entró: dice que compila.

Expediente 358/980: la puerta que medía la caja
La slide se recortaba en un móvil: dos tercios de cada una, fuera de la pantalla. La regla que la escalaba estaba escrita y era legible: scale(calc(100cqw / 980)). El navegador la lee, no la entiende, y la descarta — sin excepción, sin aviso, sin una línea en la consola. Parecía correcta porque la columna del artículo mide unos 980 px. En un móvil la caja mide 358 px y el contenido seguía midiendo 980: el 63,5 % de cada slide, recortado. Y ocho puertas siguieron en verde, todas, todo el tiempo. Ninguna mintió: medían la caja, y la caja era exactamente lo que debía ser.

Expediente 1/1852: el generador que informó éxito
Cambié una frase en la fuente y regeneré la proyección, como manda el protocolo. La portada apareció vacía: cajas con geometría y sin palabras. El generador había terminado con código 0 y escrito «spine generated». El fichero llevaba la frase nueva, correcta, en la línea 2 — y repetía una clave en la 31. Fluent no elige entre dos claves iguales: descarta el recurso. Y el recurso son los cuarenta y dos ficheros del idioma concatenados en uno. Una clave, mil ochocientas cincuenta y dos perdidas. El contrato de este protocolo caza cualquier dato mal tipado al definirlo, y suelta la mano exactamente donde el dato se convierte en texto.

Expediente 3/0: el testigo que certificaba un mundo que ya no existía
Un testigo demuestra que una comprobación se ejecutó y qué devolvió. No demuestra que mirara todo lo que debía. La cobertura no está testificada — así que un check puede quedarse verde sobre una fracción cada vez menor de la realidad y su acta sigue siendo válida. Y lo peor: la cobertura caduca exactamente cuando MEJORAS el mecanismo. Tres cegueras en cuatro horas, sobre el mismo testigo, causadas las tres por una mejora. El agente que se saltó la regla la había escrito esa misma tarde, en un ADR, con su propio nombre.

Expediente 0/318: el validador que nunca se ejecutó
El contrato que habría cazado el defecto estaba escrito, exportado, y ANUNCIADO EN UN COMENTARIO tres líneas encima del campo que debía proteger. No estaba enchufado a nada. Así que convivieron cinco dialectos incompatibles del mismo registro, el ejecutor murió con el primero que se encontró —y se llevó por delante las 318 restricciones de los 72 ADRs—, y `adr validate` no completó una sola ejecución desde el commit inicial. Ninguna restricción Hard fue jamás exigida por el comando que existe para exigirlas. Cuando por fin se ejecutó: 93 fallos, y 39 de ellos eran promesas que no podían pasar en ninguna máquina.

Expediente 6/0: el árbitro que no se ponía de acuerdo consigo mismo
Seis vocabularios vivos, ninguno dueño. Siete conceptos con dos traducciones distintas, cinco de ellos dentro del mismo fichero. Un gate que miraba 10 ficheros de 110 y al que no llamaba ninguna receta de CI. Y cuando llegó un agente con la ontología entera cargada a resolverlo, escribió un séptimo vocabulario y archivó mal un término aplicando una regla que él mismo acababa de redactar. No fue descuido: fue que nada podía contradecirle.

Expediente 69/58: el espejo que revertía su propio trabajo
Once ADR escritos y jamás publicados. Cero contenido llegado a producción. 214 líneas de trabajo a un comando de desaparecer. Y ni un solo error en los logs: la herramienta informaba éxito y nadie leía el disco. La pregunta de la serie es «¿con ontoref no hubiera sido así?» — y este es el caso que responde que no, porque pasó dentro de ontoref con la regla ya aceptada.

Expediente 404-PAP: la deriva hardcoded
Añadir un tipo de contenido que 'debía ser solo NCL' costó ~88 minutos, 8 builds y 8 pistas falsas: un match hardcoded sombreaba el registry (anti-PAP). El fix fueron 8 líneas. Pero lo que el caso dejó —un howto, un modo, un proof, una serie— es la evidencia real de para qué existe ontoref.