Expediente 2/26: la regla que estaba en el contexto

Expediente 2/26: la regla que estaba en el contexto

Un agente enmendó el ADR de un authoring-project y rellenó el campo opcional `warrant` con una entrada de sesión que apuntaba a un fichero de `.coder/` inexistente. La razón para no hacerlo estaba en su contexto. Construyó cinco llamadas más encima y lo contó al final como algo pendiente de sustituir. El arreglo llevó la regla al mecanismo: `adr validate` rechaza una ruta a `.coder/` en cualquier ADR. Medido después, señala 10 líneas que no citan nada, ve 2 de los 26 warrant de sesión del corpus y no lo ejecuta ningún hook.

Leer más
Expediente 2/2: los dos pasos que no eran suyos

Expediente 2/2: los dos pasos que no eran suyos

Un modo de ontoref declara, paso por paso, de quién es cada uno. `assess-signal` reserva dos al humano — el que asigna el veredicto y el que cierra. El agente dio los dos. No hubo rechazo, no hubo aviso, y el registro de la ejecución ni siquiera decía quién había reportado qué: `run.nu` lee `ONTOREF_ACTOR` en cinco sitios, para elegir un directorio y para elegir un formato, y en ninguno lo compara con el dueño del paso. El veredicto elegido enruta trabajo por regla, así que se abrió un item que nadie había pedido, y la sesión gastó seis de sus doce turnos deshaciendo lo que ella misma había generado. El mecanismo ausente llevaba 23 días nombrado en el backlog.

Leer más
Expediente 5/0: el despacho que sólo hablaba con el terminal

Expediente 5/0: el despacho que sólo hablaba con el terminal

Toda capacidad de este proyecto llega al CLI, al daemon, a MCP y a GraphQL porque su lógica vive en un módulo que un llamante carga desde un root. El despacho de comandos de dominio —resolución de alias, las dos vías de activación, la puerta de extensiones, los diagnósticos— se escribió entero dentro de un fichero bash que sólo carga el terminal. No estaba roto: estaba en una dirección desde la que nadie más podía llamarlo. El único síntoma era un grep que devolvía cero, y un cero se lee como «todavía no» en vez de como «no puede».

Leer más
Expediente 23/3: la confesión que sobrevivió a su hueco

Expediente 23/3: la confesión que sobrevivió a su hueco

`gateable = false` obliga a nombrar en `gate_source` qué verificaría la afirmación, para que la ausencia sea visible en vez de olvidada. El corpus afirmaba veintitrés veces que un grupo de comandos «no existía en el CLI»; los tres grupos existían en ese mismo árbol. Ninguna frase estaba corrompida: cada autor escribió la verdad y el sistema la conservó intacta hasta que dejó de serlo. El órgano que falló es el que ontoref construyó para impedir exactamente esta clase.

Leer más
Expediente 0/5: el verde que apagó la pregunta

Expediente 0/5: el verde que apagó la pregunta

El 2026-08-10 un agente en sesión —Claude Code sobre Opus 5— encontró un hallazgo abierto en el informe de bonds: dos proyectos citaban cinco capabilities de un dominio cuyo catálogo el validador no podía resolver. La severidad era `unverifiable`, no `error`, y el proceso salía con cero: el mecanismo decía exactamente lo que sabía y lo que no. El agente lo tomó por defecto, creó la autoridad en el único sitio donde el validador mira, y el informe pasó a cero. Nada se había verificado; sólo había dejado de quedar alguien preguntando. El dominio ya estaba declarado por su proveedor, con un comentario que advertía palabra por palabra contra lo que acababa de hacerse.

Leer más
Expediente 4/5: la capa que llegó tarde

Expediente 4/5: la capa que llegó tarde

Una jornada entera convirtiendo copias en cascada compartida terminó con el sitio caído dos veces por el mismo fallo: una config que importa una capa que su imagen no lleva. El clasificador acertó las dos veces —marcó los ficheros como rebuild— y no bastó, porque «viajan inertes» solo es cierto mientras nada reinicie, y el mismo publish reinicia. La segunda caída la provocó quien acababa de escribir el guard contra la primera. Con el contenedor caído no había exec, y el hueco se rellenó con una deducción cronológicamente impecable y falsa: los dos sites comparten digest. La cura no fue una lista de lo que la imagen debería llevar, sino preguntárselo a la imagen.

Leer más
Expediente 0/8: el consejo que no se guardaba la respuesta

Expediente 0/8: el consejo que no se guardaba la respuesta

El hook hizo exactamente lo que declara: ofrecer. Su propia cabecera dice que no ata, que convierte «no sabía que existía» en «lo sabía y elegí». Lo que nunca construyó fue la segunda mitad: que la elección conste. Sin ella, declinar con criterio y no mirar siquiera dejan el mismo hueco —ninguno—, así que en una sesión de tres horas y veintidós minutos el procedimiento se sirvió ocho veces, se declinó ocho, y nadie pudo notarlo. La capa donde eso debía registrarse llevaba meses terminada: ADR aceptado, esquema con restricción dura, migración aplicada, siete verbos exportados, cero registros. No faltaba mecanismo: faltaba quien lo llamara.

Leer más
Expediente 2/8: la nota que apagó la alarma

Expediente 2/8: la nota que apagó la alarma

Un arreglo de CSS correcto dejó escrita, en su propio comentario, una frase que declaraba segura la forma que nunca se renderizó. Siete horas y media después el siguiente autor la leyó, la creyó, y diagnosticó el fallo razonando sobre dos hojas de estilo que la página ni siquiera carga. Una consulta a getComputedStyle devolvía la respuesta entera; se hicieron cero. Lo detectó una captura de pantalla del operador, jamás un check. ADR-072 ya declara que un mecanismo declara su extensión y que la página es la publicación: tres constraints Hard que pasaron de largo, porque gobiernan checks y esto era prosa.

Leer más
Expediente 111/0: la regla que no podía ver

Expediente 111/0: la regla que no podía ver

La regla nueva debía negarse cuando un nivel no se pudiera recuperar, y juzgaba la recuperación por el código de salida. Pero `describe <desconocido>` imprime «unknown subcommand» y sale 0 — deliberadamente, con un test que lo asegura. Así que un nivel apuntando a una fuente inexistente volvió marcado como materializado con éxito: 111 bytes de texto de ayuda, servidos a un agente como si fueran las restricciones del proyecto. La regla contra la provisión silenciosa proveyó en silencio, en su primera ejecución, escrita por quien llevaba el día entero arreglando justo eso.

Leer más
Expediente 0/10: el gate que informaba cero

Expediente 0/10: el gate que informaba cero

`ontoref validate ontology` respondía «61 nodos · 175 aristas · 0 hallazgos». En el mismo fichero, el axioma self-describing — el que afirma que ontoref se describe usando su propio protocolo — declaraba tres artefactos, y ninguno existía desde una migración documentada meses atrás. El validador era correcto en todo lo que miraba, y nunca miraba eso; aunque hubiera mirado, no habría podido decirlo, porque imprimía sin devolver código de salida; y aunque hubiera podido, no lo ejecutaba ninguna cadena. Diez rutas rotas en siete nodos. Un primer recuento dio 218 y era falso: resolvía contra una sola raíz.

Leer más
Expediente 18/0: el verbo que informó un alta

Expediente 18/0: el verbo que informó un alta

Le pedí al proyecto que registrase una tarea. El comando respondió «New backlog item: bl-044», con su identificador y su prioridad. El log de auditoría lo anotó como escritura. El manual, desde el primer día del repositorio, prometía «create new item». Escribí ese identificador en un registro gobernado. Y solo mucho después pregunté al almacén cuál era su último elemento: bl-043. `git diff --stat` sobre el fichero: cero líneas. La regla que lo hubiera impedido ya existía, aceptada y ejecutándose sobre cada paso de cada mode — y se detenía justo antes del verbo que un agente teclea para empezar.

Leer más
Expediente 63/0: el almacén bitemporal escrito en un solo tiempo

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.

Leer más

Usamos cookies para que este sitio funcione, entender el uso del servicio y apoyar acciones de marketing. Política de cookies para más información.