Geodi, el personaje oficial de GEODE en pixel art
Volver a la sala

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.

2026.02.21 — present

Diseño, juicio, verificación: Author · implementación: Claude · revisión: Codex

  • CLIPublicado · PyPI
  • Servidor MCPImplementado

La aceptación de candidatos y la autoridad de publicación son juicios separados.

Crucible es un núcleo de experimentación aparte de la búsqueda de políticas. Un commit candidato se valida frente a las superficies permitidas y un contrato congelado, las tareas pareadas se agregan en un checkout de medición separado, y el resultado es KEEP, REJECT o INVALID.

Mapa de Crucible · trazado a partir del commit fijado 9e2c041 y los artefactos públicos 23e3428
Mapa de Crucible de GEODEUn núcleo de experimentación que mantiene la aceptación de candidatos, la elegibilidad sellada y la publicación del producto como autoridades separadas. El supervisor toma un único commit candidato de un productor, lo comprueba frente a la superficie permitida y el evaluador congelado, y ejecuta tareas de tau2 en un checkout de medición aislado. promotion.py agrega los resultados pareados por tarea y familia preregistradas en KEEP, REJECT o INVALID; KEEP solo mueve el head de búsqueda. La evaluación sellada juzga un bundle de train con un test pack disjunto de un solo uso; incluso ELIGIBLE solo llega a una ref eligible, sin autoridad de publicación.Modelos actor · usuarior14 · r35: gpt-5.4/highEntorno tau2tareas · usuario simuladoPublicación del producto GEODEsin conexión · autoridad apartesearch/producerscomando del productor · configuradoreplay producersearch/supervisor.pypropose → preflightevaluate → decide → recordcontract.pysuperficie permitida · diff candidatoevaluador congelado · preregistradoattempt/feedback.jsoncódigos de fallo · ID de tareas de trainmeasurement checkoutaislado del productorassays/ejecución de tau2 · receiptverificador de tareapromotion.pyagregado pareado · tarea · familiaKEEP · REJECT · INVALIDattestation/bundle.pybundle de train · KEEP recalculadoattestation/sealed.pytest pack disjunto · usado una vezELIGIBLE · release_authority nonerefs/cruciblesearch/* headeligible/*geode-eval-artifactsr14 · train KEEP → sealed REJECTr35 · INVALID · 0 pares · nullevolve/cruciblenúcleo de experimentación externo · aparte de SILbúsqueda · veredicto de trainattestation · sealed1 pedir un candidato · propose → preflight → search/producers12 un commit candidato · search/producers → propose → preflight23 superficie permitida · comprobación del diff · propose → preflight → superficie permitida · diff candidato34checkout aislado5ejecución con contrato fijo6diálogo actor · usuario7llamadas a modelos8paired evidence9agregación preregistrada10KEEP · el head avanza1paired evidence2agregación preregistrada3REJECT · INVALID4códigos de fallo · ID de tareas1record · ref receipt2 solo bundle de train · una vez · bundle de train · KEEP recalculado → test pack disjunto · usado una vez23 solo ref eligible · ELIGIBLE · release_authority none → eligible/*31verdict.json público2sealed decision.json

Veredicto de train

Un candidato dentro de la superficie permitida se mide con un contrato fijo en un checkout aislado, y reglas preregistradas deciden KEEP, REJECT o INVALID.

  1. propose → preflightsearch/supervisor.pyejecutar · decidir: pedir un candidatosearch/producers

    El supervisor de búsqueda pide un candidato a un productor. El candidato de r14 fue uno anterior (r13) reaplicado por el productor replay, no uno nuevo generado por un LLM.

  2. search/producersdatos: un commit candidatopropose → preflightsearch/supervisor.py

    Un productor devuelve un único commit candidato dentro de las rutas permitidas.

  3. propose → preflightsearch/supervisor.pyejecutar · decidir: superficie permitida · comprobación del diffsuperficie permitida · diff candidatocontract.py

    El diff candidato debe quedar dentro de la superficie permitida por el contrato, y se verifica el evaluador congelado. En r14 y r35 el objetivo permitido era un solo archivo, tau2_agent_policy.md; core y la implementación de Crucible quedaron fijados como ruta del evaluador.

  4. evaluate → decide → recordsearch/supervisor.pyejecutar · decidir: checkout aisladoaislado del productormeasurement checkout

    El candidato se comprueba en un checkout de medición separado del productor.

  5. aislado del productormeasurement checkoutejecutar · decidir: ejecución con contrato fijoejecución de tau2 · receiptassays/

    La línea base y el candidato se ejecutan con el mismo contrato, la misma semilla y las mismas tareas.

  6. ejecución de tau2 · receiptassays/datos: diálogo actor · usuarioEntorno tau2

    El agente GEODE (actor) conversa con el usuario simulado propiedad del evaluador en el entorno de tareas de tau2.

  7. ejecución de tau2 · receiptassays/datos: llamadas a modelosModelos actor · usuario

    En r14 y r35, tanto el actor como el usuario simulado fueron gpt-5.4/high (suscripción).

  8. verificador de tareaassays/datos: paired evidenceagregado pareado · tarea · familiapromotion.py

    Los resultados del verificador de tarea se conservan como pares línea base–candidato.

  9. evaluador congelado · preregistradocontract.pyejecutar · decidir: agregación preregistradaagregado pareado · tarea · familiapromotion.py

    Los resultados pareados se agregan por tarea y familia preregistrada, y las condiciones de presupuesto, cobertura, infraestructura y seguridad se comprueban aparte.

  10. KEEP · REJECT · INVALIDpromotion.pyejecutar · decidir: KEEP · el head avanzasearch/* headrefs/crucible

    Con KEEP, el siguiente head de refs/crucible/search/* pasa a ser el candidato. La promotion_authority de un veredicto de train es none.

Rechazo · inválido · retroalimentación

REJECT e INVALID mantienen el head, y el siguiente candidato solo recibe códigos de fallo e ID fijos de tareas de train. INVALID no es una puntuación de cero.

  1. verificador de tareaassays/datos: paired evidenceagregado pareado · tarea · familiapromotion.py

    Los resultados del verificador de tarea se conservan como pares línea base–candidato.

  2. evaluador congelado · preregistradocontract.pyejecutar · decidir: agregación preregistradaagregado pareado · tarea · familiapromotion.py

    Los resultados pareados se agregan por tarea y familia preregistrada, y las condiciones de presupuesto, cobertura, infraestructura y seguridad se comprueban aparte.

  3. KEEP · REJECT · INVALIDpromotion.pydatos: REJECT · INVALIDcódigos de fallo · ID de tareas de trainattempt/feedback.json

    Si hay rechazo o invalidez, se mantiene el head anterior y se conservan el candidato y sus registros. Una media INVALID es null, no cero.

  4. códigos de fallo · ID de tareas de trainattempt/feedback.jsondatos: códigos de fallo · ID de tareassearch/producers

    La retroalimentación al siguiente candidato se limita a códigos de fallo e ID fijos de tareas de train; no se transmiten trayectorias ni respuestas del evaluador.

Elegibilidad sellada · autoridad aparte

El KEEP de train solo mueve el head de búsqueda. La elegibilidad sellada solo llega a la ref eligible; la publicación del producto y el despliegue son autoridades separadas fuera de Crucible.

  1. evaluate → decide → recordsearch/supervisor.pydatos: record · ref receiptbundle de train · KEEP recalculadoattestation/bundle.py

    Un bundle de train solo se sostiene cuando se conectan el contrato, la evidencia de línea base y candidato, el KEEP recalculado, el linaje de propuestas, el registro del supervisor y el receipt de la ref aplicada. No es otro nombre para la mejora.

  2. bundle de train · KEEP recalculadoattestation/bundle.pyejecutar · decidir: solo bundle de train · una veztest pack disjunto · usado una vezattestation/sealed.py

    La evaluación sellada usa una vez un test pack disjunto de train, con cero reintentos de infraestructura.

  3. ELIGIBLE · release_authority noneattestation/sealed.pyejecutar · decidir: solo ref eligibleeligible/*refs/crucible

    Incluso ELIGIBLE solo escribe refs/crucible/eligible/*, y release_authority se fija en none.

Registros públicos · r14 · r35

r14 fue KEEP en train y luego REJECT sellado; r35 (July 13, 2026) fue INVALID por cobertura incompleta y contaminación de infraestructura (0 filas pareadas, media null), con el head sin cambios.

  1. KEEP · REJECT · INVALIDpromotion.pydatos: verdict.json públicogeode-eval-artifacts

    Los artefactos públicos son registros normalizados fijados en 23e3428. El hash preregistrado de la config de train de r14 difiere de los bytes de la config pública, por lo que no se recertifica la cadena original completa.

  2. attestation/sealed.pydatos: sealed decision.jsonr14 · train KEEP → sealed REJECTgeode-eval-artifacts

    r14: KEEP en telecom train, 6 tareas × 1 ensayo (6 filas pareadas, sin autoridad de promoción), y luego un veredicto sellado aparte de REJECT (sin autoridad de publicación).

Todas las conexiones con el mismo grosor. Elija un flujo para resaltar solo su recorrido, con pasos numerados.

  • Continua · dirección en que fluyen solicitudes, candidatos y resultados
  • Discontinua · ejecutar, decidir, autorizar, configurar
  • Línea negra gruesa · el flujo seleccionado; los números dan el orden
  • Recuadro · frontera de código o de registro, con su ruta en la cabecera
  • Chip interior · componente de esa frontera
  • Recuadro discontinuo · fuera de esa frontera
  • supervisor de búsqueda
  • contrato · veredicto · atestación
  • refs · registros
  • productores · ejecución

Crucible es un núcleo aparte de SIL; las dos búsquedas no son un único pipeline que promueva los candidatos de la otra. El recuadro de publicación del producto no tiene ninguna conexión entrante.

Tres autoridades
El KEEP de train mueve el head de búsqueda, el ELIGIBLE sellado registra una ref eligible, y la publicación del producto es una decisión aparte fuera de Crucible. Un veredicto anterior nunca otorga una autoridad posterior.
Null no es cero
r35 preveía 9 tareas × 3 ensayos (27 filas por brazo) pero tuvo 0 pares comparables, así que su media y su mejora son null. No son 27 tareas fallidas ni una tasa de éxito del 0%.