Geodi, GEODE:s officiella pixelfigur
Tillbaka till salen

GEODE

Autonomous Agent Harness

Från observation till nästa handling.

En lokal harness för autonoma agenter som kan anförtros research, filarbete och schemalagda uppgifter.

2026.02.21 — present

Design, bedömning, verifiering: Author · implementation: Claude · granskning: Codex

  • CLIPublicerad · PyPI
  • MCP-serverImplementerad

Kandidatacceptans och releasebefogenhet är separata bedömningar.

Crucible är en experimentkärna skild från policysökning. En kandidat-commit valideras mot de tillåtna ytorna och ett fryst kontrakt, parade uppgifter aggregeras i en separat mät-checkout och resultatet är KEEP, REJECT eller INVALID.

Crucible-karta · ritad utifrån fastlåst commit 9e2c041 och offentliga artefakter 23e3428
Karta över GEODE CrucibleEn experimentkärna som håller kandidatacceptans, förseglad kvalificering och produktrelease som separata befogenheter. Supervisorn tar en kandidat-commit från en producent, kontrollerar den mot den tillåtna ytan och den frysta evaluatorn och kör tau2-uppgifter i en isolerad mät-checkout. promotion.py aggregerar parade resultat per förregistrerad uppgift och familj till KEEP, REJECT eller INVALID; KEEP flyttar bara sökningens head. Förseglad utvärdering bedömer en train-bundle på ett disjunkt testpaket som används en gång; även ELIGIBLE når bara en eligible-ref, utan releasebefogenhet.Modeller: actor · användarer14 · r35: gpt-5.4/hightau2-miljöuppgifter · simulerad användareGEODE-produktreleaseingen förbindelse · separat befogenhetsearch/producersproducentkommando · konfigureratreplay producersearch/supervisor.pypropose → preflightevaluate → decide → recordcontract.pytillåten yta · kandidat-difffryst evaluator · förregistreradattempt/feedback.jsonfelkoder · id:n för train-uppgiftermeasurement checkoutisolerad från producentenassays/tau2-körning · kvittouppgiftsverifierarepromotion.pyparat · aggregat per uppgift · familjKEEP · REJECT · INVALIDattestation/bundle.pytrain-bundle · omräknad KEEPattestation/sealed.pydisjunkt testpaket · används en gångELIGIBLE · release_authority nonerefs/cruciblesearch/* headeligible/*geode-eval-artifactsr14 · train KEEP → sealed REJECTr35 · INVALID · 0 par · nullevolve/crucibleextern experimentkärna · skild från SILsökning · train-domattestation · sealed1 begär en kandidat · propose → preflight → search/producers12 en kandidat-commit · search/producers → propose → preflight23 tillåten yta · diff-kontroll · propose → preflight → tillåten yta · kandidat-diff34isolerad checkout5körning under fast kontrakt6actor · användardialog7modellanrop8paired evidence9förregistrerad aggregering10KEEP · head flyttas1paired evidence2förregistrerad aggregering3REJECT · INVALID4felkoder · uppgifts-id:n1record · ref receipt2 endast train-bundle · en gång · train-bundle · omräknad KEEP → disjunkt testpaket · används en gång23 endast eligible-ref · ELIGIBLE · release_authority none → eligible/*31offentlig verdict.json2sealed decision.json

Train-dom

En kandidat inom den tillåtna ytan mäts under fast kontrakt i en isolerad checkout, och förregistrerade regler avgör KEEP, REJECT eller INVALID.

  1. propose → preflightsearch/supervisor.pyköra · avgöra: begär en kandidatsearch/producers

    Sökningens supervisor ber en producent om en kandidat. Kandidaten i r14 var en tidigare kandidat (r13) som replay-producenten tillämpade igen, inte en ny LLM-genererad.

  2. search/producersdata: en kandidat-commitpropose → preflightsearch/supervisor.py

    En producent returnerar en enda kandidat-commit inom de tillåtna sökvägarna.

  3. propose → preflightsearch/supervisor.pyköra · avgöra: tillåten yta · diff-kontrolltillåten yta · kandidat-diffcontract.py

    Kandidatens diff måste hålla sig inom kontraktets tillåtna yta, och den frysta evaluatorn verifieras. I r14 och r35 var det tillåtna målet en fil, tau2_agent_policy.md; core och Crucible-implementationen var låsta som evaluatorväg.

  4. evaluate → decide → recordsearch/supervisor.pyköra · avgöra: isolerad checkoutisolerad från producentenmeasurement checkout

    Kandidaten kontrolleras i en mät-checkout skild från producenten.

  5. isolerad från producentenmeasurement checkoutköra · avgöra: körning under fast kontrakttau2-körning · kvittoassays/

    Baseline och kandidat körs med samma kontrakt, seed och uppgifter.

  6. tau2-körning · kvittoassays/data: actor · användardialogtau2-miljö

    GEODE-agenten (actor) talar med den evaluatorägda simulerade användaren i tau2-uppgiftsmiljön.

  7. tau2-körning · kvittoassays/data: modellanropModeller: actor · användare

    I r14 och r35 var både actor och simulerad användare gpt-5.4/high (prenumeration).

  8. uppgiftsverifierareassays/data: paired evidenceparat · aggregat per uppgift · familjpromotion.py

    Uppgiftsverifierarens resultat sparas som par av baseline och kandidat.

  9. fryst evaluator · förregistreradcontract.pyköra · avgöra: förregistrerad aggregeringparat · aggregat per uppgift · familjpromotion.py

    Parade resultat aggregeras per uppgift och förregistrerad familj, och villkor för budget, täckning, infrastruktur och säkerhet kontrolleras separat.

  10. KEEP · REJECT · INVALIDpromotion.pyköra · avgöra: KEEP · head flyttassearch/* headrefs/crucible

    Vid KEEP blir nästa head i refs/crucible/search/* kandidaten. En train-doms promotion_authority är none.

Avvisad · ogiltig · feedback

REJECT och INVALID behåller head, och nästa kandidat får bara felkoder och fasta id:n för train-uppgifter. INVALID är inte poängen noll.

  1. uppgiftsverifierareassays/data: paired evidenceparat · aggregat per uppgift · familjpromotion.py

    Uppgiftsverifierarens resultat sparas som par av baseline och kandidat.

  2. fryst evaluator · förregistreradcontract.pyköra · avgöra: förregistrerad aggregeringparat · aggregat per uppgift · familjpromotion.py

    Parade resultat aggregeras per uppgift och förregistrerad familj, och villkor för budget, täckning, infrastruktur och säkerhet kontrolleras separat.

  3. KEEP · REJECT · INVALIDpromotion.pydata: REJECT · INVALIDfelkoder · id:n för train-uppgifterattempt/feedback.json

    Vid avvisning eller ogiltighet ligger föregående head kvar, och kandidaten och dess loggar bevaras. Ett INVALID-medelvärde är null, inte noll.

  4. felkoder · id:n för train-uppgifterattempt/feedback.jsondata: felkoder · uppgifts-id:nsearch/producers

    Feedback till nästa kandidat begränsas till felkoder och fasta id:n för train-uppgifter; inga evaluatortrajektorier eller svar förs vidare.

Förseglad kvalificering · separat befogenhet

Train-KEEP flyttar bara sökningens head. Förseglad kvalificering når bara eligible-ref:en; produktrelease och driftsättning är separata befogenheter utanför Crucible.

  1. evaluate → decide → recordsearch/supervisor.pydata: record · ref receipttrain-bundle · omräknad KEEPattestation/bundle.py

    En train-bundle håller bara när kontrakt, belägg för baseline och kandidat, den omräknade KEEP, förslagets härstamning, supervisorloggen och kvittot för den tillämpade ref:en alla hänger ihop. Den är inte ett annat namn för förbättring.

  2. train-bundle · omräknad KEEPattestation/bundle.pyköra · avgöra: endast train-bundle · en gångdisjunkt testpaket · används en gångattestation/sealed.py

    Förseglad utvärdering använder ett testpaket som är disjunkt från train, en gång och utan omförsök vid infrastrukturfel.

  3. ELIGIBLE · release_authority noneattestation/sealed.pyköra · avgöra: endast eligible-refeligible/*refs/crucible

    Även ELIGIBLE skriver bara refs/crucible/eligible/*, och release_authority är låst till none.

Offentliga loggar · r14 · r35

r14 var train-KEEP och sedan förseglad REJECT; r35 (13 juli 2026) var INVALID på grund av ofullständig täckning och kontaminering från infrastrukturen (0 parade rader, medelvärde null), med oförändrat head.

  1. KEEP · REJECT · INVALIDpromotion.pydata: offentlig verdict.jsongeode-eval-artifacts

    De offentliga artefakterna är normaliserade loggar låsta vid 23e3428. Den förregistrerade train-config-hashen för r14 skiljer sig från de offentliga config-byten, så hela den ursprungliga kedjan är inte omcertifierad.

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

    r14: KEEP på telecom-train, 6 uppgifter × 1 försök (6 parade rader, ingen befordringsbefogenhet), sedan en separat förseglad dom på REJECT (ingen releasebefogenhet).

Alla kopplingar med samma tjocklek. Välj ett flöde för att bara markera dess väg, med numrerade steg.

  • Heldragen · riktningen som förfrågningar, kandidater och resultat flödar i
  • Streckad · köra, avgöra, auktorisera, konfigurera
  • Kraftig svart linje · det valda flödet; siffrorna anger ordningen
  • Ruta · en kod- eller logggräns, sökvägen i rubriken
  • Inre chip · en komponent inom gränsen
  • Streckad ruta · utanför gränsen
  • sökningens supervisor
  • kontrakt · dom · attestering
  • refs · loggar
  • producenter · exekvering

Crucible är en kärna skild från SIL; de två sökningarna är inte en pipeline som befordrar varandras kandidater. Rutan för produktrelease har ingen inkommande förbindelse.

Tre befogenheter
Train-KEEP flyttar sökningens head, förseglad ELIGIBLE registrerar en eligible-ref och produktrelease är ett separat beslut utanför Crucible. En tidigare dom ger aldrig en senare befogenhet.
Null är inte noll
r35 planerade 9 uppgifter × 3 försök (27 rader per arm) men hade 0 jämförbara par, så medelvärde och förbättring är null. Det är inte 27 misslyckade uppgifter eller en lyckandegrad på 0%.