GEODE
Autonomous Agent Harness
Fra observasjon til neste handling.
En lokal harness for autonome agenter, som research, filarbeid og planlagte oppgaver kan overlates til.
Modellens forslag om å stoppe blir fullføring bare gjennom verifisering.
Ved et leverbart stopp går en modell som ber om å stoppe, likevel gjennom fullføringsverifisering. Utfallet er ferdig, fortsett innenfor budsjett eller venter på gjennomgang; utførelsesgrenser, avbrudd og feil ender i en egen stoppet tilstand.
Verifiser → fullfør
Bare et leverbart stopp går gjennom PreVerify → vurdering → PostVerify → Stop. Verken modellens stoppforslag eller en hook-instruks er i seg selv en fullføring.
arun · modelltur
loop/agent_loop.pydata: stoppforslagleverbart stopp · natural osv.loop/_guards.py · models.pyNår modellen svarer med tekst uten et verktøykall, blir turen en natural-stoppkandidat (forced_text i den siste tillatte runden). En modells stoppforslag er ennå ikke en fullføring.
leverbart stopp · natural osv.
loop/_guards.py · models.pydata: fullføringskandidatfinalize_and_return_asyncloop/_lifecycle.pyBare natural, forced_text og actionable_partial er leverbare stopp, og bare disse går videre til offentlig verifisering.
finalize_and_return_async
loop/_lifecycle.pykjøre · avgjøre: PreVerifyPreVerify · STRENGTHENcore/hooks/public.pyMed STRENGTHEN kan PreVerify-hooken bare legge til krav og mangelkoder. Den kan gjøre dommen strengere, aldri gi bestått.
finalize_and_return_async
loop/_lifecycle.pykjøre · avgjøre: verify_turn_asyncstrukturell kontroll · empty_turncore/agent/verify.pyEn strukturell kontroll kommer først (tom tur, model_action_required); en strukturell feil som ikke kan repareres, hopper over den semantiske vurderingen. Gamle innstillinger som off eller rule_based tolkes som llm_judge og kan ikke slå av dommen.
semantisk vurdering · LLM eller Jev
core/agent/verify.pydata: vurderingsforespørselBedømmermodellDen valgte bedømmeren (LLM judge som standard, Jev Choice når den velges) kalles én gang, uten verktøy, i høyst 120 sekunder og aldri utover det gjenværende tidsbudsjettet. En kandidat som kan inneholde personlige observasjoner, sendes ikke til en hjelpebedømmer.
semantisk vurdering · LLM eller Jev
core/agent/verify.pydata: passed · rubric_missespolicy_action · tolkning av dommenloop/_lifecycle.pyDommen inneholder bestått eller ikke bestått, mangelkoder, en refleksjon til neste forsøk og om et nytt forsøk er nyttig. Et semantisk bestått dekker aldri over en mislykket strukturell kontroll.
policy_action · tolkning av dommen
loop/_lifecycle.pykjøre · avgjøre: PostVerify-beslutningPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyPostVerify-hooken avgjør ACCEPT, REVISE eller ESCALATE. En ACCEPT av en kandidat som ikke besto verifiseringen, blir escalate. Uten beslutning gjelder runtimens standard (bestått → accept, kan prøves på nytt → revise, ellers escalate).
policy_action · tolkning av dommen
loop/_lifecycle.pykjøre · avgjøre: Stop · CONTINUEStop · CONTINUEcore/hooks/public.pyBare når det ikke eskaleres, kan Stop-hookens CONTINUE-instruks be om fortsatt reparasjon. En hook-instruks er input til neste forsøk, ikke en autoritet.
policy_action · tolkning av dommen
loop/_lifecycle.pydata: completed · lagretcheckpoint · sesjonstilstandmemory · observabilityVed bestått og accept slås de fortsatte forsøkene sammen, resultatet lagres, og sesjonen registreres som completed.
finalize_and_return_async
loop/_lifecycle.pydata: svarIPC · CLI-kallerReturnerer det endelige svaret ved completed; et tomt svar med EXTERNAL_VERIFICATION_REQUIRED ved venting på gjennomgang; stoppårsaken ved et stopp uten verifisering.
Reparasjon innenfor budsjett
En feil som kan repareres, fortsetter den samme forespørselen. Standardbudsjettet er to forsøk; når det er brukt opp, venter kandidaten på gjennomgang.
semantisk vurdering · LLM eller Jev
core/agent/verify.pydata: passed · rubric_missespolicy_action · tolkning av dommenloop/_lifecycle.pyDommen inneholder bestått eller ikke bestått, mangelkoder, en refleksjon til neste forsøk og om et nytt forsøk er nyttig. Et semantisk bestått dekker aldri over en mislykket strukturell kontroll.
policy_action · tolkning av dommen
loop/_lifecycle.pykjøre · avgjøre: PostVerify-beslutningPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyPostVerify-hooken avgjør ACCEPT, REVISE eller ESCALATE. En ACCEPT av en kandidat som ikke besto verifiseringen, blir escalate. Uten beslutning gjelder runtimens standard (bestått → accept, kan prøves på nytt → revise, ellers escalate).
policy_action · tolkning av dommen
loop/_lifecycle.pykjøre · avgjøre: Stop · CONTINUEStop · CONTINUEcore/hooks/public.pyBare når det ikke eskaleres, kan Stop-hookens CONTINUE-instruks be om fortsatt reparasjon. En hook-instruks er input til neste forsøk, ikke en autoritet.
fortsettelsesbudsjett · standard 2
loop/_lifecycle.pykjøre · avgjøre: reparasjon · forsøk +1_arun_once · fortsatt reparasjonloop/agent_loop.pyMed en reparasjonsinstruks, og bare så lenge forsøksnummeret er under budsjettet (to som standard), fortsetter den samme forespørselen. Ved budsjettet blir det escalate_budget_exhausted og venter på gjennomgang.
Venter på gjennomgang
En ubrukelig dom, et forsøk på å gjøre en feil om til bestått eller et oppbrukt budsjett holder tilbake kandidaten og setter sesjonen på pause.
verification_error · lukker ved feil
core/agent/verify.pyfeil · ingen dom: verification_errorpolicy_action · tolkning av dommenloop/_lifecycle.pyEn manglende bedømmer, et tidsavbrudd eller et ugyldig svar blir verification_error: verken bestått eller et reparasjonssignal. En ubrukelig dom erstatter aldri et vellykket utfall.
policy_action · tolkning av dommen
loop/_lifecycle.pykjøre · avgjøre: PostVerify-beslutningPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyPostVerify-hooken avgjør ACCEPT, REVISE eller ESCALATE. En ACCEPT av en kandidat som ikke besto verifiseringen, blir escalate. Uten beslutning gjelder runtimens standard (bestått → accept, kan prøves på nytt → revise, ellers escalate).
policy_action · tolkning av dommen
loop/_lifecycle.pykjøre · avgjøre: ESCALATE · pendingEkstern reviewerKandidaten beholdes som pending_text og holdes tilbake fra vanlige svar, checkpointet lagres, og sesjonen settes på pause. Ingen ekstern reviewer kontaktes automatisk.
policy_action · tolkning av dommen
loop/_lifecycle.pylogge · observere: dom · beleggradertimeline · beslutningsrader i ledgermemory · observabilityTidslinjen får beslutnings-, belegg- og pending-rader, og evidence ledger en verification_policy-rad. Dette er best-effort-logger, ikke bevis for en ekstern effekt.
Stopp uten verifisering
Stopp ved avbrudd, grenser og infrastruktur samt kjøringer i control workflow lagres uten offentlig verifisering.
arun · modelltur
loop/agent_loop.pykjøre · avgjøre: guards · grenserstopp ved feil · grense · avbruddloop/_guards.py · models.pyGuards som grenser for runder, tid, kostnad og kontekst, avbrudd og oppdagelse av gjentatte feil avslutter turen med ett medlem av den lukkede TerminationReason-mengden. En grense som er slått av i konfigurasjonen, håndheves ikke alltid.
stopp ved feil · grense · avbrudd
loop/_guards.py · models.pyfeil · ingen dom: stopp ved feil · avbruddfinalize_and_return_asyncloop/_lifecycle.pyStopp ved avbrudd, infrastruktur og grenser har ingen kandidat å verifisere og lagres derfor uten offentlig verifisering.
control workflow · hopp over offentlig verifisering
ipc_server/poller.pykjøre · avgjøre: hopp over offentlig verifiseringfinalize_and_return_asyncloop/_lifecycle.pyNår et IPC-kall ber om å hoppe over offentlig verifisering eller en control workflow er aktiv, er offentlig verifisering slått av bare for den kjøringen, og den tidligere verdien gjenopprettes etterpå.
finalize_and_return_async
loop/_lifecycle.pydata: bare lagring · ingen verifiseringcheckpoint · sesjonstilstandmemory · observabilityEt stopp uten verifisering lagrer likevel resultatet og checkpointet og sender ut hendelsene for sesjonsslutt.
finalize_and_return_async
loop/_lifecycle.pydata: svarIPC · CLI-kallerReturnerer det endelige svaret ved completed; et tomt svar med EXTERNAL_VERIFICATION_REQUIRED ved venting på gjennomgang; stoppårsaken ved et stopp uten verifisering.
Alle forbindelser med samme tykkelse. Velg en flyt for å fremheve bare dens vei, med nummererte steg.
- Heltrukket · retningen forespørsler, kandidater og resultater flyter
- Stiplet · kjøre, avgjøre, autorisere, konfigurere
- Lang strek-prikk · logger og observasjon, atskilt fra dommen
- Kort strek · en feil eller en ubrukelig dom
- Kraftig svart linje · den valgte flyten; tallene angir rekkefølgen
- Boks · en kode- eller logggrense, stien i overskriften
- Indre chip · en komponent innenfor grensen
- Stiplet boks · utenfor grensen
- løkke · finalisering
- stopp · hooks · dom
- lagring · logger
- IPC-inngang
Bare kallstier i fastlåst commit 9e2c041 er tegnet. En bedømmers bestått er atskilt fra en ekstern benchmark-verifikators suksess; fullføring er her en beslutning inne i runtimen.
- Vurderingsmotor
- Standarden er LLM judge; Jev Choice vurderer bare når judgment_engine er satt til jev. Uansett gir en ubrukelig bedømmer verification_error, aldri suksess.
- Hva hooks kan gjøre
- PreVerify kan bare gjøre dommen strengere, PostVerify kan ikke la en mislykket kandidat bestå, og Stop kan bare be om fortsettelse når det ikke eskaleres.
- Venter på gjennomgang
- Venter på gjennomgang registrerer at det trengs en ekstern beslutning. Det varsler ingen og betyr ikke at resultatet er godkjent.