GEODE
Autonomous Agent Harness
Fra observasjon til neste handling.
En lokal harness for autonome agenter, som research, filarbeid og planlagte oppgaver kan overlates til.
GEODE runtime vocabulary
- reasoning
- action
- observation
- plan
- memory
- tools
- hook
- reflexion
- rollouts
- data curation
- data governance
- evaluation
- scaffold search
- promotion
Reasoning: SYSTEM PROMPT · CONVERSATION · RUNTIME HINTS · MODEL · ADAPTER CALL · NEXT ACTION · TOOL SCHEMA · TEXT-ONLY TURN · CURRENT STEP · PROJECT MEMORY · RUNTIME RULES · EFFORT · thinking_budget · reasoning_effort · adaptive_thinking · effort_values · default_effort · binds_thinking · none · minimal · low · medium · high · xhigh · max · MODEL ROUTEAction: ACT · TOOL_USE · TOOLCALLPROCESSOR · DISPATCH · RESEARCH · BASH · COMPUTER USE · FILE · GIT · PROCESS · EFFECT RECEIPT · TOOLEXECUTORObservation: NEXT ACTION · RESEARCH · OBSERVE · TOOL_RESULT · RESULT · ERROR · CODE · DOCUMENT · SOURCE · EVIDENCE · EXCERPTPlan: CURRENT STEP · OBJECTIVE · PLANSTEP · EXPECTED OUTCOME · REMAINING STEPS · COMPLETED · ABANDONED · REVISION · UPDATE_PLAN · /PLAN · REPLAN · VERIFY FAILED · LOW CONFIDENCEMemory: SYSTEM PROMPT · CONVERSATION · PROJECT MEMORY · RUNTIME RULES · TOOL_RESULT · CONVERSATIONCONTEXT · MESSAGES · CONTEXT WINDOW · COMPACTION · CHECKPOINT · SESSION · RECOVERY · SQLITE · STATE.JSON · PreCompact · PostCompact · SessionStart · SessionEndTools: TOOL SCHEMA · TOOL_USE · TOOLCALLPROCESSOR · DISPATCH · BASH · COMPUTER USE · EFFECT RECEIPT · TOOL_RESULT · BOUNDTOOLPLAN · GENERATION · HASH · TOOLEXECUTOR · SCOPE · POLICY · HOOK · APPROVAL · HITL · PreToolUse · PostToolUse · MCP CLIENT · PermissionRequestHook: DISPATCH · HOOK · PreToolUse · PostToolUse · UserPromptSubmit · PermissionRequest · PreCompact · PostCompact · SessionStart · SessionEnd · SubagentStart · SubagentStop · PreVerify · tool_request · tool_execution · llm_request · llm_execution · REQUEST TRANSFORM · next_call · WRAPPER · REGISTRY · PostVerify · StopReflexion: NEXT ACTION · EVIDENCE · REPLAN · VERIFY FAILED · LOW CONFIDENCE · HOOK · PreVerify · HYPOTHESES · CONFIDENCE · NEXT_ACTION_HINT · RECORD_REFLECTION · CONTRADICTION · REPAIR · VERIFY · PostVerify · Stop · COMPLETION · CONTINUE · TIME · TOKEN BUDGET · CANCELLATIONRollouts: SESSION · ROLLOUT · EXAMPLE · SEED · REPETITION · ATTEMPT · TRAJECTORY · REWARD · OUTCOME · TRACE · RUN IDData Curation: TASK SYNTHESIS · SEED GENERATION · PROXIMITY · RANKING · META-REVIEW · ELO TOURNAMENT · PILOT · DEDUPLICATION · SURVIVOR SELECTION · FROZEN POOLData Governance: PROVENANCE · LINEAGE · SCHEMA VERSION · SOURCE DIGEST · PRIVACY REVIEW · ALLOWLIST · IMMUTABLE RELEASE · SPLIT ISOLATION · SEALED HOLDOUTEvaluation: TRAJECTORY · OUTCOME · TRACE · EVALUATION HARNESS · TASK · RUBRIC · GRADER · VERIFIER · VALIDITY · FITNESS · REPLICATION · TASK COVERAGEScaffold Search: RECOVERY · FITNESS · CANDIDATE · HYPOTHESIS · MUTATION POLICY · BASELINE · FROZEN EVALUATOR · POLICY INJECTION · SEARCH SPACE · PROMOTION GATEPromotion: SEALED HOLDOUT · PROMOTION GATE · CRUCIBLE · PAIRED TRIALS · BOOTSTRAP BOUND · FROZEN CONTRACT · TASK-PACK HASH · TRAIN · SEALED TEST · SAFETY VETO · KEEP · REJECT · INVALID
Recorded evaluation · MCPMark PostgreSQL · 2026-07-04
Før den endret noe, fant den det som allerede var der.
Oppgaven: sikkerhet på radnivå for en sosial medietjeneste med fem tabeller.
- UndersøkelseLeste de fem tabellene, fire hjelpefunksjoner som allerede fantes, RLS slått av på alle fem, og policyer, privilegier og roller.
- HandlingÉn transaksjon: 20 policyer og RLS slått på, med 3 eksisterende hjelpefunksjoner gjenbrukt og 3 funksjoner lagt til.
- Verifisering18 bestått, 0 feilet. Alle 13 verktøysvar over 9 turer kom tilbake uten feil.
Utdata fra verifikatoren, 18 linjer (ordrett)
- RLS enabled on users
- RLS enabled on channels
- RLS enabled on channel_moderators
- RLS enabled on posts
- RLS enabled on comments
- Users can update their own profile
- Users blocked from updating other users' profiles
- Channel owners can update their channels
- Non-owners blocked from updating channels
- Post authors can update their posts
- Channel moderators can update posts in their channels
- Unauthorized users blocked from updating posts
- Comment authors can update their comments
- Post authors can moderate comments on their posts
- Channel owners can add moderators
- Non-owners blocked from adding moderators
- Content visibility varies correctly based on user context
- Anonymous users can see 3 public user profiles (correct)
En tidligere kjøring i en konfigurert evalueringssandkasse, ikke en live database eller en faktisk sikkerhetshendelse. Antall rader før policyene finnes ikke i loggen, så ingen vises. Offentlig kjørelogg (meta.json, commit 23e3428)
Å gå gjennom et resultat og reparere det (inspirert av Reflexion, innenfor samme oppgave) er en funksjon i den nåværende GEODE-runtimen. Ingen slik reparasjon forekommer i denne loggen: alle verktøysvar kom tilbake uten feil. Runtime-dokumentasjon (hook-system.md)
Modellen velger neste handling; verten holder utførelsesgrensen.
Runtimen fra en forespørsel kommer inn i en sesjon, gjennom modellkallet og tillatelseskontrollene av hvert foreslåtte verktøykall, til utførelse, resultater og logger. Når en flyt velges, fremheves bare stien dens med nummererte steg.
Modellen velger neste handling; runtimen kontrollerer verktøytillatelser og avgjør når arbeidet er fullført.
Eksterne eksperimenter med Scaffold Search / SIL startet 15. mai 2026
Pakken geode-agent installeres fra PyPI eller det offentlige repositoryet og kjøres fra egen terminal. Den kan også nås som MCP-server.
Forespørsel → modellkall
En terminalforespørsel kommer inn via IPC, en sesjon settes sammen, og løkken kaller modellen med systemprompt, samtale og verktøyskjemaer.
Terminalbrukerdataflyt: prompt · cli.sockCLIPoller · IPC-socket
core/serverDen tynne CLI-en sender forespørselen til IPC-socketen til serve-daemonen (~/.geode/cli.sock). REPL-en kjører den samme sesjonssammensetningen i prosessen.
CLIPoller · IPC-socket
core/servertillatelse · sammensetning: create_session(IPC)SharedServices.create_sessionsupervised/services.pyHver tilkobling setter sammen en sesjon. Modusen fastsetter HITL-nivå, tidsbudsjett og avviste verktøy, og projiserer BoundToolPlan på den valgte leverandøren.
CLIPoller · IPC-socket
core/servertillatelse · sammensetning: lane per forespørselLaneQueue · session · globalsupervised/services.pyFør en forespørsel kjøres, holdes både sesjonens lane og den globale lanen, noe som begrenser samtidige kjøringer.
SharedServices.create_session
supervised/services.pytillatelse · sammensetning: ToolExecutor · AgenticLoopAgenticLoop · seks fasercore/agent/loopBygger executoren og løkken som ett par som deler hooks, MCP, skills og ressurslåser.
LaneQueue · session · global
supervised/services.pydataflyt: arun(prompt)AgenticLoop · seks fasercore/agent/loopKjører én brukertur i seks faser: forberedelse av input, forberedelse av kall, kall til leverandøren, verktøybehandling, observasjon og komprimering, avslutning.
systemprompt · deklarerte kilder
core/agent/loopdataflyt: systempromptadapter.acomplete · feilklassercore/llm/adaptersBygges hver tur fra deklarerte kilder som utvalgte avsnitt og regler i GEODE.md. ContextAssemblers fasade i fem nivåer brukes bare når den kalles eksplisitt; den er ikke standardløkkens input.
meldinger · ConversationContext
core/agent/loopdataflyt: meldingeradapter.acomplete · feilklassercore/llm/adaptersSamtalen og tidligere verktøyresultater sendes separat fra systemprompten.
BoundToolPlan · uforanderlig
core/tools/plan.pytillatelse · sammensetning: verktøyskjemaeradapter.acomplete · feilklassercore/llm/adaptersBare verktøyene i BoundToolPlan som er bundet til dette steget, er synlige for modellen. Det er et uforanderlig øyeblikksbilde med en generasjon og en innholdshash.
AgenticLoop · seks faser
core/agent/loopdataflyt: StepSnapshot · forespørseladapter.acomplete · feilklassercore/llm/adaptersStepSnapshot låser dette kallets modell, verktøy og korrelasjons-ID-er. LLM-mellomvare kan ikke bytte ut en bundet adapter.
adapter.acomplete · feilklasser
core/llm/adaptersdataflyt: HTTPSLLM-leverandørerEn adapter per leverandør utfører kallet. Feil klassifiseres og prøves på nytt bare innenfor en fastsatt grense, eller avslutter turen med en avslutningsårsak.
adapter.acomplete · feilklasser
core/llm/adaptersdataflyt: svar · tool_useAgenticLoop · seks fasercore/agent/loopBare tekst går til avslutning; tool_use går til verktøybehandling.
Verktøytillatelse → effekt → resultat
Et tool_use-forslag kjøres først når alle kontroller er bestått; avslag, resultater og feil kommer alle tilbake fra executoren og blir neste modellinput.
AgenticLoop · seks faser
core/agent/loopdataflyt: ventende batch · rundelagringSQLite messages · state.jsonmemory/session_checkpoint.pyI en sesjon med konfigurert checkpointing (et checkpoint og en sesjons-ID) lagres den foreslåtte batchen før noe verktøy kjøres, og batchen kjøres ikke hvis den ikke kan lagres. Den fullførte batchen lagres på nytt. Kallere uten checkpoint får ikke denne garantien.
AgenticLoop · seks faser
core/agent/loopdataflyt: tool_use-blokkerToolCallProcessortool_executor/processor.pyEt modellforslag er ikke en tillatelse. Hvert kall får en ToolContext med løkkens modell- og adapteridentitet.
ToolCallProcessor
tool_executor/processor.pydataflyt: aexecuteomfang · policy · skjematool_executor/executor.pyKontrollerer i tur og orden sesjonens omfang, omskrivinger fra request-mellomvare, policy og skjema. En omskriving som senker sikkerhetsnivået eller klassen for personopplysninger, avvises.
BoundToolPlan · uforanderlig
core/tools/plan.pytillatelse · sammensetning: tillatt · sikkerhetsnivåomfang · policy · skjematool_executor/executor.pyKjørbare håndterere og sikkerhetsnivåer kommer fra BoundToolPlan som er projisert for sesjonen.
PreToolUse · PostToolUse
tool_executor/executor.pytillatelse · sammensetning: PreToolUse · PostToolUseHookRegistry · beslutningercore/hooksOffentlige hooks avgjør blokkering, omskriving av argumenter eller forespørsel om tillatelse, og etter en omskriving kontrolleres omfang, policy og skjema på nytt. Etter utførelsen kan en hook legge til kontekst eller holde tilbake resultatet.
godkjenning · HITL
tool_executor/executor.pytillatelse · sammensetning: godkjenningsforespørselTerminalbrukerI en IPC-sesjon videresendes godkjenningsforespørselen til den tynne CLI-en. Moduser uten en person bruker avvisningspolicyen som standard; det eneste unntaket er computer use i DAEMON når en operatør slår det på separat (ellers blokkert).
tool_executor/executor.pyavslag før utførelse: avvist før utførelseToolCallProcessor
tool_executor/processor.pyEn avvisning på omfang, policy eller skjema, en PreToolUse-blokkering eller en nektet godkjenning returneres som et feilresultat uten dispatch. I så fall startet ingen effekt av dette kallet.
effect receipt
tool_executor/executor.pydataflyt: effekt registreres · bekreftesEffectReceiptStorememory/effect_receipts.pyEffekter som filendringer, utgående meldinger eller administrative handlinger registreres før de kjøres. Et usikkert utfall kjøres ikke på nytt; det krever avstemming.
ressurslås · dispatch
tool_executor/executor.pydataflyt: håndtererkallverktøyhåndterere · bash · computercore/toolsSender til den bundne håndtereren etter å ha låst ressursnøklene dens. Et kall som avbrytes ved fristen, kan fortsatt kjøre utenfor.
ressurslås · dispatch
tool_executor/executor.pydataflyt: MCP-kallMCPServerManagercore/mcp/manager.pyBare MCP-verktøy med en deklarert ressurspolicy kalles.
MCPServerManager
core/mcp/manager.pydataflyt: tools/callMCP-servereServerkatalogen kommer fra globale innstillinger og fra prosjektinnstillinger som har bestått tillitskontrollen; den kontrollen gjelder bare prosjektoppføringer. MCP-manageren bruker sin utvidelses- og ressurspolicy.
verktøyhåndterere · bash · computer
core/toolsdataflyt: endringer i fil · git · prosessFiler · git · prosesserUtførte endringer blir værende som ekstern tilstand. Checkpointet gjenoppretter bare samtalen og angrer dem ikke.
tool_executor/executor.pydataflyt: resultat · feil etter dispatchToolCallProcessor
tool_executor/processor.pyEtter dispatch returneres normale resultater og feil (inkludert tidsavbrudd og usikre utfall) gjennom PostToolUse. En feil eller et tidsavbrudd betyr ikke at det eksterne arbeidet stoppet eller ble angret.
ToolCallProcessor
tool_executor/processor.pydataflyt: tool_resultmeldinger · ConversationContextcore/agent/loopResultater, avslag og feil serialiseres alle som tool_result og blir meldinger i neste modellinput.
ToolCallProcessor
tool_executor/processor.pylogg · observasjon: kall · resultatobservasjonSessionTimeline · append-onlyobservability/session_timeline.pySkriver kallet og resultatet (ok eller feil) til tidslinjen, også kall som ble avvist før utførelse. Loggen er observasjon; den beviser ikke at en ekstern effekt startet eller lyktes.
Logger · gjenoppretting · fullføring
Checkpoint, tidslinje og beleggrader skrives hver for seg. Det finnes ingen felles transaksjon, og checkpointet gjenoppretter bare samtalen.
AgenticLoop · seks faser
core/agent/loopdataflyt: ventende batch · rundelagringSQLite messages · state.jsonmemory/session_checkpoint.pyI en sesjon med konfigurert checkpointing (et checkpoint og en sesjons-ID) lagres den foreslåtte batchen før noe verktøy kjøres, og batchen kjøres ikke hvis den ikke kan lagres. Den fullførte batchen lagres på nytt. Kallere uten checkpoint får ikke denne garantien.
SQLite messages · state.json
memory/session_checkpoint.pydataflyt: gjenoppretting ved gjenopptakAgenticLoop · seks fasercore/agent/loopÉn gjenopprettingssti henter tilbake meldinger, kognitiv tilstand og guard-tellere. Den prosesslokale TaskGraph gjenopprettes ikke.
AgenticLoop · seks faser
core/agent/looplogg · observasjon: turloggSessionTimeline · append-onlyobservability/session_timeline.pyEn append-only utførelseshistorikk som aldri spilles av på nytt som tilstand.
AgenticLoop · seks faser
core/agent/looptillatelse · sammensetning: fullføringskontrollverify_turn_asynccore/agent/verify.pyModellens forslag om å stoppe blir fullføring bare gjennom Verify.
verify_turn_async
core/agent/verify.pytillatelse · sammensetning: PostVerify · StopHookRegistry · beslutningercore/hooksOffentlige hook-beslutninger avgjør om det skal fortsettes med en reparasjon, og reparasjoner skjer bare innenfor et fastsatt budsjett (to som standard).
AgenticLoop · seks faser
core/agent/looplogg · observasjon: beleggrader · best-effortEvidenceLedger · JSONLagent/evidence_ledger.pyMaskerte diagnoserader. Hasher støtter korrelasjon; en rad beviser ikke at en effekt skjedde, og den skrives ikke i samme transaksjon som tidslinjen eller checkpointet.
AgenticLoop · seks faser
core/agent/looplogg · observasjon: kognitive · livssyklushendelserHookSystem · observasjoncore/hooksObservasjonshooks mottar og registrerer hendelser; de avgjør ikke utførelse.
Andre inngangsstier
Meldingstjenester kommer inn som DAEMON-sesjoner i serve-daemonen; run_agent fra en ekstern MCP-vert går inn i en separat bygget headless enkeltkjøringsløkke.
Meldingskanaldataflyt: kanalmeldingmeldingspollere
core/serverServe-daemonens pollere håndterer bare meldinger fra bundne kanaler.
meldingspollere
core/servertillatelse · sammensetning: create_session(DAEMON)SharedServices.create_sessionsupervised/services.pyEn modus uten en person som godkjenner: standardpolicyen for avvisning og et tidsbudsjett gjelder. Bare computer use kan slås på separat av en operatør; uten det forblir det blokkert.
meldingspollere
core/serverdataflyt: arun(message)AgenticLoop · seks fasercore/agent/loopEn tråd beholder én fast sesjons-ID og fortsetter én checkpoint-kjede.
Ekstern MCP-vertdataflyt: run_agent(prompt)run_agent · enkeltkjøring
core/mcp_server.pyEn ekstern MCP-vert kaller GEODE som et verktøy.
run_agent · enkeltkjøring
core/mcp_server.pydataflyt: headless enkeltkjøringsløkkeAgenticLoop · seks fasercore/agent/loopEn separat bygget headless executor og løkke som går utenom SharedServices. Standard avvisningsliste gjelder uendret, så verktøy som run_bash, delegate_task og computer fjernes; DAEMON-unntaket for computer use finnes ikke her.
Alle forbindelser med samme tykkelse. Velg en flyt for å fremheve bare dens vei, med nummererte steg.
- Heltrukket · retningen forespørsler, meldinger og verktøyresultater flyter
- Stiplet · sesjonssammensetning, tillatelse eller dom; ikke en datasti
- Lang strek-prikk · logger og observasjon; spilles aldri av på nytt som tilstand
- Kort strek · avslag før utførelse, ingen effekt
- Kraftig svart linje · den valgte flyten; tallene angir rekkefølgen
- Boks · en kodeeiende grense, kildestien i overskriften
- Indre chip · en komponent innenfor grensen
- Stiplet boks · utenfor runtime-prosessen
- Oransje kontur · der en modell tar beslutninger
- Kjøreløkke
- Tillatelse · dommer
- Logglagre
- Inngang · tilkobling · utførelse
Bare forbindelser der kallene er bekreftet, er tegnet. ContextAssemblers fasade i fem nivåer, TaskGraph og forskningseksperimenter som Jev, SIL og Crucible ligger ikke på denne runtime-stien. Asynkront avbrudd stopper ikke synkront arbeid som allerede er startet, og angrer ikke effekter som har skjedd.
Støttede modeller · per leverandør
Kodens katalogvalg og leverte standarder, ikke en liste der hver modell har bestått et live API-kall. Konfigurerte fallback-kjeder er tomme som standard, og eksakte ID-er oppgraderes aldri automatisk til nyere versjoner.
Anthropic
API
- PrimærClaude Opus 5.5
claude-opus-5-5Standard - SekundærClaude Sonnet 5
claude-sonnet-5Standard - LavkostClaude Haiku 4.5
claude-haiku-4-5-20251001Standard
Vis alle 12 katalog-ID-er
API
claude-fable-5-1claude-opus-5-5standardclaude-opus-5claude-sonnet-5standardclaude-haiku-4-5-20251001standardclaude-fable-5claude-opus-4-8claude-opus-4-7claude-opus-4-6claude-opus-4-5claude-sonnet-4-6claude-sonnet-4-5-20250929
Koden avviser abonnementsruten via OAuth.
- PrimærClaude Opus 5.5
OpenAI
API · Codex-abonnement
- Standard for API og CodexGPT-6 Sol
gpt-6-solStandard
Vis alle 11 katalog-ID-er
API · Codex-abonnement
gpt-6-astragpt-6-solstandardgpt-6-lunagpt-5.6-solgpt-5.6-terragpt-5.6-luna
Bare API
gpt-5.5gpt-5.3-codexgpt-5.4gpt-5.4-minigpt-5.4-nano
To tilgangsruter til én leverandør; katalogen fastsetter hvilke ruter hver modell tillater.
- Standard for API og CodexGPT-6 Sol
Z.ai / GLM
PAYG
- StandardGLM-5.3
glm-5.3Standard
Vis alle 9 katalog-ID-er
PAYG
glm-5.3standardglm-5.3-flashglm-5.3-flashxglm-5.2glm-5.1glm-5glm-4.7glm-4.7-flashxglm-4.7-flash
Koden tillater ikke ruten via GLM Coding Plan.
- StandardGLM-5.3
OpenRouter
Rutingtjeneste
- VelgerFree (smoke)
openrouter/openrouter/freeRuter - VelgerAuto (variable)
openrouter/openrouter/autoRuter
Rutervalg, ikke én fast modell. Eksplisitt konfigurerte ID-er kan også beholdes.
- VelgerFree (smoke)
TypeSafe / Jev
Bare beslutninger · atskilt fra tekstgenerering
- Direkte
jev-1.13.0Bare beslutning - Via OpenRouter
typesafe/jev-1.13Bare beslutning
En valgfri adapter som bare gjør vurderinger; den er ikke en rotmodell for tekstgenerering. Standardmotoren for vurdering er llm, og Jev må velges. Jev-studiens egne konfigurasjoner følger loggene i Jev-visningen.
- Direkte
KildeGEODE main 373d420Offentlig commit 7. oktober 2026 · kontrollert 8. oktober 2026
Eksperimenter
Modeller og ruter slik de ble registrert den gangen, ikke nåværende standarder eller en fullstendig kompatibilitetsliste.
GEODE-benchmarkrapport
July 31, 2026
- GEODEGPT-5.6 Sol
gpt-5.6-solOpenAI-abonnement · high
- GEODEGPT-5.6 Sol
Terminal-Bench 2.1 · paret spesifikasjon for Harbor 0.22.0
August 27, 2026
- GEODE · native CodexGPT-5.6 Sol
gpt-5.6-solabonnement · max
En frosset spesifikasjon; ikke alle planlagte forsøk ble et gyldig resultat.
- GEODE · native CodexGPT-5.6 Sol
Arkivert SIL-kjøring run-2606-broken-tool-use
- Mål-scaffoldGPT-5.5
gpt-5.5openai-codex - Auditor · bedømmerClaude Opus 4.8
claude-opus-4-8PAYG
En logg over atskilte roller, ikke to utskiftbare standarder.
- Mål-scaffoldGPT-5.5