GEODE
Autonomous Agent Harness
De la observación a la siguiente acción.
Un arnés local de agentes autónomos al que se pueden encargar investigación, trabajo con archivos y tareas programadas.
Implementaciones devueltas por la revisión, cifras de investigación recalculadas
Dos casos en que la revisión devolvió una implementación y uno en que se recalcularon cifras de investigación conservando los originales. Cada rol es solo lo que muestra el registro de ese caso.
June 13, 2026
Una implementación que superaba la ruta normal fue devuelta dos veces por la revisión, en las rutas de error
PersonaAuthor
AcciónTelemetría ausente · fallback silencioso por comprobar
- traspasoFallos que deben ser visibles→ Fila de actividad tipada · fallback marcado (Claude Fable 5)
Agente de programaciónClaude Fable 5
AcciónFila de actividad tipada · fallback marcado
- traspaso→ commit 64bd223 (Commits públicos)
- traspasoDiff · rutas de fallo→ BLOCKER: el fallback genérico guarda details=data en bruto (Codex)
ArtefactosCommits públicos
Artefactocommit 64bd223
Revisión · verificaciónCodex
Observación · hallazgoBLOCKER: el fallback genérico guarda details=data en bruto
- devueltoLa protección de la ruta normal, también en la ruta de excepción→ Quitar los campos sensibles también en el fallback (Claude Fable 5)
Agente de programaciónClaude Fable 5
AcciónQuitar los campos sensibles también en el fallback
- traspaso→ c808e78 · comprobación de reproducción K4 (Commits públicos)
- traspasoCorrección revisada de nuevo→ BLOCKER #2: el texto de ValidationError vuelve a exponer los valores (Codex)
ArtefactosCommits públicos
Artefactoc808e78 · comprobación de reproducción K4
Revisión · verificaciónCodex
Observación · hallazgoBLOCKER #2: el texto de ValidationError vuelve a exponer los valores
- devueltoUn motivo de error sin valores en bruto→ Conservar solo tipo de error · ruta del campo; quitar args_preview (Claude Fable 5)
Agente de programaciónClaude Fable 5
AcciónConservar solo tipo de error · ruta del campo; quitar args_preview
- traspaso→ 8dcb386 · comprobación de reproducción K5 (Commits públicos)
ArtefactosCommits públicos
Artefacto8dcb386 · comprobación de reproducción K5
- no es una ejecución registradaAlcance verificado→ CI completa y PASS de la revisión final de entonces no releídos (Commits públicos)
ArtefactosCommits públicos
Regla · sin verificarCI completa y PASS de la revisión final de entonces no releídos
- Contexto
- El cambio convertía los eventos de observabilidad en filas de actividad tipadas y evitaba que los fallbacks fueran silenciosos. La revisión de Codex dejó dos BLOCKER, y cada corrección llegó con una comprobación que reproduce el desvío encontrado.
- Resultado
- K4 fuerza un fallback real con un tipo incorrecto y comprueba que no sobreviva ningún campo en bruto; K5 comprueba que la descripción del error solo contenga nombres de campo y tipos de error, nunca valores de entrada. Estas comprobaciones reproducen los desvíos que encontró la revisión; no copian constantes de la implementación.
- Límite
- No se abrió la conversación original de la revisión MCP; el rol de revisión se establece a partir de los commits y del CHANGELOG escritos en su momento. Este caso no garantiza que ningún log de GEODE conserve nunca datos sensibles.
Fuentes y límites restantes
- Los tres commits acreditan a Claude Fable 5, y c808e78 y 8dcb386 registran respectivamente el BLOCKER de Codex y el BLOCKER #2.
- La política de contribución actual (October 2026) no se aplica retroactivamente como instrucción de este caso.
May 26, 2026
Un cambio que iba a eliminar una puntuación se redujo a una comprobación de dónde puede usarse
Agente de programaciónImplementación
Observación · hallazgoNecesidad: no usar este valor como eje de fitness
- traspasoPrimera hipótesis→ Primer borrador: quitar el valor en el writer de la línea base (Implementación)
En desarrolloConsumidores en el producto
Observación · hallazgoEn la primera generación, la línea base es la única fuente de scenario_realism
- traspasoConsumidor real rastreado→ Hallazgo: rompe la entrada inicial del critic (Codex)
Agente de programaciónImplementación
AcciónPrimer borrador: quitar el valor en el writer de la línea base
- traspasoCambio revisado→ Hallazgo: rompe la entrada inicial del critic (Codex)
Revisión · verificaciónCodex
Observación · hallazgoHallazgo: rompe la entrada inicial del critic
- devueltoMantener el contrato de entrada existente→ Cambio del writer retirado · datos conservados (Implementación)
Agente de programaciónImplementación
AcciónCambio del writer retirado · datos conservados
- traspasoCriterio de terminado desplazado→ 4 invariantes: ausente solo de las superficies de fitness (Commit público · PR)
ArtefactosCommit público · PR
Artefacto4 invariantes: ausente solo de las superficies de fitness
- traspasoDiff final→ 0792e81 → PR #1690 fusionado (Commit público · PR)
ArtefactosCommit público · PR
Artefacto0792e81 → PR #1690 fusionado
- Contexto
- El cambio buscaba impedir que scenario_realism sirviera como eje de fitness en la Scaffold Search externa. Cuando la revisión rastreó al primer lector del valor, el cambio se hizo más pequeño, no más grande.
- Resultado
- El valor de la línea base se mantiene; cuatro comprobaciones fijan que esta dimensión no esté en AXIS_TIERS, DIM_WEIGHTS ni en las listas de tiers de la búsqueda externa.
- Límite
- No se consultó la sesión detrás del cambio retirado del writer; se establece a partir del commit y de las descripciones de pruebas escritas en su momento. Estas comprobaciones no son evidencia del rendimiento de la búsqueda ni de una mejora de SIL.
Fuentes y límites restantes
- El critic y el evolver son consumidores de datos dentro del producto en desarrollo, no el agente de programación ni el revisor Codex usados para construirlo.
- El título del PR #1690 todavía dice “filter”; el diff y el commit finales son el cambio real.
September 27, 2026 to September 28, 2026
Tras corregir un valor límite, primero se reprodujeron los resultados originales y luego se recalcularon
Sesión de trabajoImplementador del análisis
Observación · hallazgoValores exactamente en el límite de tolerancia rechazados
- traspasoUn error de admisión, no de capacidad del modelo→ Comparar como decimales · tolerancias sin cambios (Implementador del análisis)
Sesión de trabajoImplementador del análisis
AcciónComparar como decimales · tolerancias sin cambios
- traspaso→ 4be7a17 · comprobaciones dentro / fuera del límite (Artefactos)
ArtefactosArtefactos
Artefacto4be7a17 · comprobaciones dentro / fuera del límite
PersonaAuthor
AcciónDelegado: solo la corrección offline de todos los U4 · X2 guardados
- traspasoAlcance permitido→ contract.json: entradas · reglas fijadas, sin llamadas a modelos (Artefactos)
ArtefactosArtefactos
Artefactocontract.json: entradas · reglas fijadas, sin llamadas a modelos
- traspasoCondiciones fijas→ Reproducir primero resultados previos · denominadores · IC (Implementador del análisis)
Sesión de trabajoImplementador del análisis
AcciónReproducir primero resultados previos · denominadores · IC
- traspasoTras la reproducción→ Calcular la corrección por separado con las mismas entradas (Implementador del análisis)
Sesión de trabajoImplementador del análisis
AcciónCalcular la corrección por separado con las mismas entradas
- traspaso→ receipt: 24 originales conservados · 0 llamadas a modelos (Artefactos)
- traspasoVectores de celdas, no resúmenes→ Recalcular ganadores · IC a partir de los vectores de celdas · cotejar hashes (Verificador independiente)
ArtefactosArtefactos
Artefactoreceipt: 24 originales conservados · 0 llamadas a modelos
Revisión · verificaciónVerificador independiente
AcciónRecalcular ganadores · IC a partir de los vectores de celdas · cotejar hashes
- traspaso→ independent-review: los veredictos se mantienen, límites declarados (Artefactos)
ArtefactosArtefactos
Artefactoindependent-review: los veredictos se mantienen, límites declarados
- Contexto
- En la herramienta de investigación Jev, las respuestas numéricas tipadas que caían exactamente en el límite de tolerancia se rechazaban. Tras la corrección, se recalcularon todos los resultados guardados sin nuevas ejecuciones de modelos, y las partes que calculaban y verificaban se mantuvieron separadas.
- Resultado
- Los veredictos se mantuvieron tras la corrección (U4 not-supported, X2 mixed). Corregir un error numérico y respaldar una hipótesis de investigación se mantuvieron separados.
- Límite
- Una corrección a posteriori, no un nuevo experimento con modelos. Las 640 celdas listwise de Astra sin respuesta original conservan su ganador guardado, y la revisión independiente tampoco volvió a analizar los cuerpos de respuesta privados.
Fuentes y límites restantes
- La tolerancia de puntuación de 0.03 y la tolerancia de suma de la distribución de 0.025 no se cambiaron. Las cifras corregidas son U4 58/80 → 59/80 y X2 194/240 → 196/240.
- El registro público de la corrección no nombra ningún modelo para la parte que redactó ni para la que verificó, y 4be7a17 no lleva crédito de Claude ni de Codex, por lo que ninguna de las dos columnas recibe nombre de modelo.