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

Modellens förslag om att stoppa blir slutförande först genom verifiering.

Vid ett levererbart stopp går en modell som ber om att stoppa ändå igenom verifiering av slutförande. Utfallet är klart, fortsätt inom budget eller väntar på granskning; exekveringsgränser, avbrott och fel slutar i ett separat stoppat tillstånd.

Karta över slutförande · ritad utifrån kodvägarna vid fastlåst commit 9e2c041
GEODE:s karta över slutförandeHur en modells förslag om att stoppa blir ett slutförande. Bara levererbara stopp (natural, forced_text, actionable_partial) går genom PreVerify-hooken, en strukturell kontroll och den valda bedömaren (LLM judge som standard, Jev när den väljs) samt PostVerify- och Stop-hooks. Ett godkänt resultat sparas som completed; ett fel som går att reparera fortsätter samma förfrågan inom en standardbudget på två försök. En oanvändbar dom, ett försök att göra ett fel till godkänt eller en förbrukad budget håller inne kandidaten och pausar sessionen. Stopp vid avbrott, gränser och infrastruktur samt körningar i control workflow sparas utan verifiering.IPC · CLI-anroparesvar · sessionstillståndExtern granskarepending · inte kontaktadBedömarmodellLLM judge · Jev Choiceipc_server/poller.pycontrol workflow · hoppa över offentlig verifieringloop/agent_loop.pyarun · modelltur_arun_once · fortsatt reparationloop/_guards.py · models.pylevererbart stopp · natural m.fl.stopp vid fel · gräns · avbrottloop/_lifecycle.pyfinalize_and_return_asyncpolicy_action · tolkning av domenfortsättningsbudget · standard 2core/hooks/public.pyPreVerify · STRENGTHENPostVerify · ACCEPT · REVISE · ESCALATEStop · CONTINUEmemory · observabilitycheckpoint · sessionstillståndtimeline · beslutsrader i ledgercore/agent/verify.pystrukturell kontroll · empty_turnsemantisk bedömning · LLM eller Jevverification_error · stänger vid felGEODE:s runtime-processslutet av en AgenticLoop-turloop · stoppkandidaterfinalisering · dom1 stoppförslag · arun · modelltur → levererbart stopp · natural m.fl.12slutförandekandidat3 PreVerify · finalize_and_return_async → PreVerify · STRENGTHEN34verify_turn_async5bedömningsbegäran6passed · rubric_misses7 PostVerify-beslut · policy_action · tolkning av domen → PostVerify · ACCEPT · REVISE · ESCALATE78Stop · CONTINUE9completed · sparad10svar1passed · rubric_misses2 PostVerify-beslut · policy_action · tolkning av domen → PostVerify · ACCEPT · REVISE · ESCALATE23Stop · CONTINUE4reparation · försök +11verification_error2 PostVerify-beslut · policy_action · tolkning av domen → PostVerify · ACCEPT · REVISE · ESCALATE23ESCALATE · pending4dom · beläggsrader1 guards · gränser · arun · modelltur → stopp vid fel · gräns · avbrott12stopp vid fel · avbrott3hoppa över offentlig verifiering4endast spara · ingen verifiering5svar

Verifiera → slutför

Bara ett levererbart stopp går genom PreVerify → bedömning → PostVerify → Stop. Varken modellens stoppförslag eller en hook-instruktion är i sig ett slutförande.

  1. arun · modellturloop/agent_loop.pydata: stoppförslaglevererbart stopp · natural m.fl.loop/_guards.py · models.py

    När modellen svarar med text utan ett verktygsanrop blir turen en natural-stoppkandidat (forced_text i den sista tillåtna rundan). En modells stoppförslag är ännu inget slutförande.

  2. levererbart stopp · natural m.fl.loop/_guards.py · models.pydata: slutförandekandidatfinalize_and_return_asyncloop/_lifecycle.py

    Bara natural, forced_text och actionable_partial är levererbara stopp, och bara de går vidare till offentlig verifiering.

  3. finalize_and_return_asyncloop/_lifecycle.pyköra · avgöra: PreVerifyPreVerify · STRENGTHENcore/hooks/public.py

    Med STRENGTHEN kan PreVerify-hooken bara lägga till krav och bristkoder. Den kan göra domen strängare, aldrig godkänna.

  4. finalize_and_return_asyncloop/_lifecycle.pyköra · avgöra: verify_turn_asyncstrukturell kontroll · empty_turncore/agent/verify.py

    En strukturell kontroll kommer först (tom tur, model_action_required); ett strukturellt fel som inte går att reparera hoppar över den semantiska bedömningen. Gamla inställningar som off eller rule_based tolkas som llm_judge och kan inte stänga av domen.

  5. semantisk bedömning · LLM eller Jevcore/agent/verify.pydata: bedömningsbegäranBedömarmodell

    Den valda bedömaren (LLM judge som standard, Jev Choice när den väljs) anropas en gång, utan verktyg, i högst 120 sekunder och aldrig utöver den återstående tidsbudgeten. En kandidat som kan innehålla personliga observationer skickas inte till en hjälpbedömare.

  6. semantisk bedömning · LLM eller Jevcore/agent/verify.pydata: passed · rubric_missespolicy_action · tolkning av domenloop/_lifecycle.py

    Domen innehåller godkänt eller underkänt, bristkoder, en reflektion för nästa försök och om ett nytt försök är meningsfullt. Ett semantiskt godkännande täcker aldrig över en underkänd strukturell kontroll.

  7. policy_action · tolkning av domenloop/_lifecycle.pyköra · avgöra: PostVerify-beslutPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.py

    PostVerify-hooken avgör ACCEPT, REVISE eller ESCALATE. En ACCEPT av en kandidat som underkändes i verifieringen blir escalate. Utan beslut gäller runtimens standard (godkänt → accept, kan göras om → revise, annars escalate).

  8. policy_action · tolkning av domenloop/_lifecycle.pyköra · avgöra: Stop · CONTINUEStop · CONTINUEcore/hooks/public.py

    Bara när det inte eskaleras kan Stop-hookens CONTINUE-instruktion begära fortsatt reparation. En hook-instruktion är indata till nästa försök, inte en auktoritet.

  9. policy_action · tolkning av domenloop/_lifecycle.pydata: completed · sparadcheckpoint · sessionstillståndmemory · observability

    Vid godkänt och accept slås de fortsatta försöken samman, resultatet sparas och sessionen registreras som completed.

  10. finalize_and_return_asyncloop/_lifecycle.pydata: svarIPC · CLI-anropare

    Returnerar det slutliga svaret vid completed; ett tomt svar med EXTERNAL_VERIFICATION_REQUIRED vid väntan på granskning; stopporsaken vid ett stopp utan verifiering.

Reparation inom budget

Ett fel som går att reparera fortsätter samma förfrågan. Standardbudgeten är två försök; när den är förbrukad väntar kandidaten på granskning.

  1. semantisk bedömning · LLM eller Jevcore/agent/verify.pydata: passed · rubric_missespolicy_action · tolkning av domenloop/_lifecycle.py

    Domen innehåller godkänt eller underkänt, bristkoder, en reflektion för nästa försök och om ett nytt försök är meningsfullt. Ett semantiskt godkännande täcker aldrig över en underkänd strukturell kontroll.

  2. policy_action · tolkning av domenloop/_lifecycle.pyköra · avgöra: PostVerify-beslutPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.py

    PostVerify-hooken avgör ACCEPT, REVISE eller ESCALATE. En ACCEPT av en kandidat som underkändes i verifieringen blir escalate. Utan beslut gäller runtimens standard (godkänt → accept, kan göras om → revise, annars escalate).

  3. policy_action · tolkning av domenloop/_lifecycle.pyköra · avgöra: Stop · CONTINUEStop · CONTINUEcore/hooks/public.py

    Bara när det inte eskaleras kan Stop-hookens CONTINUE-instruktion begära fortsatt reparation. En hook-instruktion är indata till nästa försök, inte en auktoritet.

  4. fortsättningsbudget · standard 2loop/_lifecycle.pyköra · avgöra: reparation · försök +1_arun_once · fortsatt reparationloop/agent_loop.py

    Med en reparationsinstruktion, och bara så länge försöksnumret är under budgeten (två som standard), fortsätter samma förfrågan. Vid budgeten blir det escalate_budget_exhausted och väntar på granskning.

Väntar på granskning

En oanvändbar dom, ett försök att göra ett fel till godkänt eller en förbrukad budget håller inne kandidaten och pausar sessionen.

  1. verification_error · stänger vid felcore/agent/verify.pyfel · ingen dom: verification_errorpolicy_action · tolkning av domenloop/_lifecycle.py

    En saknad bedömare, en timeout eller ett ogiltigt svar blir verification_error: varken godkänt eller en reparationssignal. En oanvändbar dom ersätter aldrig ett lyckat utfall.

  2. policy_action · tolkning av domenloop/_lifecycle.pyköra · avgöra: PostVerify-beslutPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.py

    PostVerify-hooken avgör ACCEPT, REVISE eller ESCALATE. En ACCEPT av en kandidat som underkändes i verifieringen blir escalate. Utan beslut gäller runtimens standard (godkänt → accept, kan göras om → revise, annars escalate).

  3. policy_action · tolkning av domenloop/_lifecycle.pyköra · avgöra: ESCALATE · pendingExtern granskare

    Kandidaten behålls som pending_text och hålls inne från vanliga svar, checkpointen sparas och sessionen pausas. Ingen extern granskare kontaktas automatiskt.

  4. policy_action · tolkning av domenloop/_lifecycle.pylogga · observera: dom · beläggsradertimeline · beslutsrader i ledgermemory · observability

    Tidslinjen får besluts-, beläggs- och pending-rader, och evidence ledger en verification_policy-rad. Det är best-effort-loggar, inte bevis för en yttre effekt.

Stopp utan verifiering

Stopp vid avbrott, gränser och infrastruktur samt körningar i control workflow sparas utan offentlig verifiering.

  1. arun · modellturloop/agent_loop.pyköra · avgöra: guards · gränserstopp vid fel · gräns · avbrottloop/_guards.py · models.py

    Guards som gränser för rundor, tid, kostnad och kontext, avbrott och upptäckt av upprepade fel avslutar turen med ett element ur den slutna TerminationReason-mängden. En gräns som är avstängd i konfigurationen upprätthålls inte alltid.

  2. stopp vid fel · gräns · avbrottloop/_guards.py · models.pyfel · ingen dom: stopp vid fel · avbrottfinalize_and_return_asyncloop/_lifecycle.py

    Stopp vid avbrott, infrastruktur och gränser har ingen kandidat att verifiera och sparas därför utan offentlig verifiering.

  3. control workflow · hoppa över offentlig verifieringipc_server/poller.pyköra · avgöra: hoppa över offentlig verifieringfinalize_and_return_asyncloop/_lifecycle.py

    När ett IPC-anrop begär att offentlig verifiering hoppas över eller ett control workflow är aktivt, är offentlig verifiering avstängd bara för den körningen och det tidigare värdet återställs efteråt.

  4. finalize_and_return_asyncloop/_lifecycle.pydata: endast spara · ingen verifieringcheckpoint · sessionstillståndmemory · observability

    Ett stopp utan verifiering sparar ändå sitt resultat och sin checkpoint och skickar händelserna för sessionsslut.

  5. finalize_and_return_asyncloop/_lifecycle.pydata: svarIPC · CLI-anropare

    Returnerar det slutliga svaret vid completed; ett tomt svar med EXTERNAL_VERIFICATION_REQUIRED vid väntan på granskning; stopporsaken vid ett stopp utan verifiering.

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
  • Lång streck-punkt · loggar och observation, skilda från domen
  • Kort streck · ett fel eller en oanvändbar dom
  • 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
  • loop · finalisering
  • stopp · hooks · dom
  • sparande · loggar
  • IPC-ingång

Bara anropsvägar i fastlåst commit 9e2c041 är ritade. En bedömares godkännande är skilt från en extern benchmark-verifierares framgång; slutförande är här ett beslut inuti runtimen.

Bedömningsmotor
Standard är LLM judge; Jev Choice bedömer bara när judgment_engine är satt till jev. I båda fallen ger en oanvändbar bedömare verification_error, aldrig framgång.
Vad hooks får göra
PreVerify kan bara göra domen strängare, PostVerify kan inte godkänna en underkänd kandidat, och Stop kan bara begära fortsättning när det inte eskaleras.
Väntar på granskning
Väntar på granskning registrerar att ett externt beslut behövs. Det meddelar ingen och betyder inte att resultatet har godkänts.