GEODE
Autonomous Agent Harness
Fra observation til næste handling.
En lokal harness til autonome agenter, som research, filarbejde og planlagte opgaver kan overdrages 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 ændrede noget, fandt den det, der allerede var der.
Opgaven: sikkerhed på rækkeniveau for en social medietjeneste med fem tabeller.
- UndersøgelseLæste de fem tabeller, fire hjælpefunktioner, der allerede fandtes, RLS slået fra på alle fem samt policyer, privilegier og roller.
- HandlingÉn transaktion: 20 policyer og RLS slået til, med genbrug af 3 eksisterende hjælpefunktioner og 3 nye funktioner.
- Verifikation18 bestået, 0 fejlet. Alle 13 værktøjssvar over 9 ture kom tilbage uden fejl.
Output fra verifikator, 18 linjer (ordret)
- 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 kørsel i en konfigureret evalueringssandkasse, ikke en live database eller en reel sikkerhedshændelse. Antallet af rækker før policyerne findes ikke i loggen, så der vises ingen. Offentlig kørselslog (meta.json, commit 23e3428)
At gennemgå et resultat og reparere det (inspireret af Reflexion, inden for samme opgave) er en funktion i den nuværende GEODE-runtime. Ingen sådan reparation optræder i denne log: alle værktøjssvar kom tilbage uden fejl. Runtime-dokumentation (hook-system.md)
Modellen vælger næste handling; værten holder udførelsesgrænsen.
Runtimen fra en forespørgsel, der kommer ind i en session, gennem modelkaldet og tilladelseskontrollen af hvert foreslået værktøjskald, til udførelse, resultater og logs. Når et flow vælges, fremhæves kun dets sti med nummererede trin.
Modellen vælger næste handling; runtimen kontrollerer værktøjstilladelser og afgør, hvornår arbejdet er fuldført.
Eksterne eksperimenter med Scaffold Search / SIL begyndte 15. maj 2026
Pakken geode-agent installeres fra PyPI eller det offentlige repository og køres fra egen terminal. Den kan også nås som MCP-server.
Forespørgsel → modelkald
En terminalforespørgsel ankommer via IPC, en session sammensættes, og løkken kalder modellen med systemprompt, samtale og værktøjsskemaer.
Terminalbrugerdataflow: prompt · cli.sockCLIPoller · IPC-socket
core/serverDen tynde CLI sender forespørgslen til serve-dæmonens IPC-socket (~/.geode/cli.sock). REPL'en kører den samme sessionssammensætning i processen.
CLIPoller · IPC-socket
core/servertilladelse · sammensætning: create_session(IPC)SharedServices.create_sessionsupervised/services.pyHver forbindelse sammensætter en session. Modus fastsætter HITL-niveau, tidsbudget og afviste værktøjer og projicerer BoundToolPlan på den valgte udbyder.
CLIPoller · IPC-socket
core/servertilladelse · sammensætning: lane pr. forespørgselLaneQueue · session · globalsupervised/services.pyFør en forespørgsel køres, holdes både sessionens lane og den globale lane, hvilket begrænser samtidige kørsler.
SharedServices.create_session
supervised/services.pytilladelse · sammensætning: ToolExecutor · AgenticLoopAgenticLoop · seks fasercore/agent/loopBygger executoren og løkken som ét par, der deler hooks, MCP, skills og ressourcelåse.
LaneQueue · session · global
supervised/services.pydataflow: arun(prompt)AgenticLoop · seks fasercore/agent/loopKører én brugertur i seks faser: forberedelse af input, forberedelse af kald, kald til udbyderen, værktøjsbehandling, observation og komprimering, afslutning.
systemprompt · erklærede kilder
core/agent/loopdataflow: systempromptadapter.acomplete · fejlklassercore/llm/adaptersBygges hver tur ud fra erklærede kilder som udvalgte afsnit og regler i GEODE.md. ContextAssemblers facade i fem niveauer bruges kun, når den kaldes eksplicit; den er ikke standardløkkens input.
beskeder · ConversationContext
core/agent/loopdataflow: beskederadapter.acomplete · fejlklassercore/llm/adaptersSamtalen og tidligere værktøjsresultater sendes adskilt fra systemprompten.
BoundToolPlan · uforanderlig
core/tools/plan.pytilladelse · sammensætning: værktøjsskemaeradapter.acomplete · fejlklassercore/llm/adaptersKun værktøjerne i den BoundToolPlan, der er bundet til dette trin, er synlige for modellen. Det er et uforanderligt snapshot med en generation og en indholdshash.
AgenticLoop · seks faser
core/agent/loopdataflow: StepSnapshot · forespørgseladapter.acomplete · fejlklassercore/llm/adaptersStepSnapshot fastlåser dette kalds model, værktøjer og korrelations-id'er. LLM-middleware kan ikke udskifte en bundet adapter.
adapter.acomplete · fejlklasser
core/llm/adaptersdataflow: HTTPSLLM-udbydereEn adapter pr. udbyder foretager kaldet. Fejl klassificeres og forsøges kun igen inden for en fastsat grænse eller afslutter turen med en afslutningsårsag.
adapter.acomplete · fejlklasser
core/llm/adaptersdataflow: svar · tool_useAgenticLoop · seks fasercore/agent/loopRen tekst går til afslutning; tool_use går til værktøjsbehandling.
Værktøjstilladelse → effekt → resultat
Et tool_use-forslag kører først, når alle kontroller er bestået; afvisninger, resultater og fejl vender alle tilbage fra executoren og bliver næste modelinput.
AgenticLoop · seks faser
core/agent/loopdataflow: afventende batch · rundelagringSQLite messages · state.jsonmemory/session_checkpoint.pyI en session med konfigureret checkpointing (et checkpoint og et session-id) gemmes den foreslåede batch, før noget værktøj kører, og batchen kører ikke, hvis den ikke kan gemmes. Den fuldførte batch gemmes igen. Kaldere uden checkpoint får ikke denne garanti.
AgenticLoop · seks faser
core/agent/loopdataflow: tool_use-blokkeToolCallProcessortool_executor/processor.pyEt modelforslag er ikke en tilladelse. Hvert kald får en ToolContext med løkkens model- og adapteridentitet.
ToolCallProcessor
tool_executor/processor.pydataflow: aexecuteomfang · policy · skematool_executor/executor.pyKontrollerer i rækkefølge sessionens omfang, omskrivninger fra request-middleware, policy og skema. En omskrivning, der sænker sikkerhedsniveauet eller klassen for persondata, afvises.
BoundToolPlan · uforanderlig
core/tools/plan.pytilladelse · sammensætning: tilladt · sikkerhedsniveauomfang · policy · skematool_executor/executor.pyKørbare handlere og sikkerhedsniveauer kommer fra den BoundToolPlan, der er projiceret for sessionen.
PreToolUse · PostToolUse
tool_executor/executor.pytilladelse · sammensætning: PreToolUse · PostToolUseHookRegistry · beslutningercore/hooksOffentlige hooks afgør blokering, omskrivning af argumenter eller anmodning om tilladelse, og efter en omskrivning kontrolleres omfang, policy og skema igen. Efter udførelsen kan en hook tilføje kontekst eller tilbageholde resultatet.
godkendelse · HITL
tool_executor/executor.pytilladelse · sammensætning: godkendelsesanmodningTerminalbrugerI en IPC-session videresendes godkendelsesanmodningen til den tynde CLI. Modi uden en person anvender som standard afvisningspolicyen; den eneste undtagelse er computer use i DAEMON, når en operatør særskilt slår det til (ellers blokeret).
tool_executor/executor.pyafvisning før udførelse: afvist før udførelseToolCallProcessor
tool_executor/processor.pyEn afvisning på omfang, policy eller skema, en PreToolUse-blokering eller en nægtet godkendelse returneres som et fejlresultat uden dispatch. I så fald begyndte ingen effekt af dette kald.
effect receipt
tool_executor/executor.pydataflow: effekt registreres · bekræftesEffectReceiptStorememory/effect_receipts.pyEffekter som filændringer, udgående beskeder eller administrative handlinger registreres, før de køres. Et usikkert udfald køres ikke igen; det kræver afstemning.
ressourcelås · dispatch
tool_executor/executor.pydataflow: handler-kaldværktøjshandlere · bash · computercore/toolsSender til den bundne handler efter at have låst dens ressourcenøgler. Et kald, der afbrydes ved sin deadline, kan stadig køre udenfor.
ressourcelås · dispatch
tool_executor/executor.pydataflow: MCP-kaldMCPServerManagercore/mcp/manager.pyKun MCP-værktøjer med en erklæret ressourcepolicy kaldes.
MCPServerManager
core/mcp/manager.pydataflow: tools/callMCP-servereServerkataloget kommer fra globale indstillinger og fra projektindstillinger, der har bestået tillidskontrollen; den kontrol gælder kun projektposter. MCP-manageren anvender sin udvidelses- og ressourcepolicy.
værktøjshandlere · bash · computer
core/toolsdataflow: ændringer i fil · git · procesFiler · git · processerUdførte ændringer forbliver som ekstern tilstand. Checkpointet gendanner kun samtalen og fortryder dem ikke.
tool_executor/executor.pydataflow: resultat · fejl efter dispatchToolCallProcessor
tool_executor/processor.pyEfter dispatch returnerer normale resultater og fejl (herunder timeouts og usikre udfald) gennem PostToolUse. En fejl eller timeout betyder ikke, at det eksterne arbejde stoppede eller blev fortrudt.
ToolCallProcessor
tool_executor/processor.pydataflow: tool_resultbeskeder · ConversationContextcore/agent/loopResultater, afvisninger og fejl serialiseres alle som tool_result og bliver til beskeder i næste modelinput.
ToolCallProcessor
tool_executor/processor.pylog · observation: kald · resultatobservationSessionTimeline · append-onlyobservability/session_timeline.pySkriver kaldet og dets resultat (ok eller fejl) til tidslinjen, også kald, der blev afvist før udførelse. Loggen er observation; den beviser ikke, at en ekstern effekt begyndte eller lykkedes.
Logs · gendannelse · fuldførelse
Checkpoint, tidslinje og belægsrækker skrives hver for sig. Der er ingen fælles transaktion, og checkpointet gendanner kun samtalen.
AgenticLoop · seks faser
core/agent/loopdataflow: afventende batch · rundelagringSQLite messages · state.jsonmemory/session_checkpoint.pyI en session med konfigureret checkpointing (et checkpoint og et session-id) gemmes den foreslåede batch, før noget værktøj kører, og batchen kører ikke, hvis den ikke kan gemmes. Den fuldførte batch gemmes igen. Kaldere uden checkpoint får ikke denne garanti.
SQLite messages · state.json
memory/session_checkpoint.pydataflow: gendannelse ved genoptagelseAgenticLoop · seks fasercore/agent/loopÉn gendannelsessti bringer beskeder, kognitiv tilstand og guard-tællere tilbage. Den proceslokale TaskGraph gendannes ikke.
AgenticLoop · seks faser
core/agent/looplog · observation: turlogSessionTimeline · append-onlyobservability/session_timeline.pyEn append-only udførelseshistorik, der aldrig afspilles igen som tilstand.
AgenticLoop · seks faser
core/agent/looptilladelse · sammensætning: fuldførelseskontrolverify_turn_asynccore/agent/verify.pyModellens forslag om at stoppe bliver kun til fuldførelse gennem Verify.
verify_turn_async
core/agent/verify.pytilladelse · sammensætning: PostVerify · StopHookRegistry · beslutningercore/hooksOffentlige hook-beslutninger afgør, om der fortsættes med en reparation, og reparationer sker kun inden for et fastsat budget (som standard to).
AgenticLoop · seks faser
core/agent/looplog · observation: belægsrækker · best-effortEvidenceLedger · JSONLagent/evidence_ledger.pyMaskerede diagnoserækker. Hashes understøtter korrelation; en række beviser ikke, at en effekt fandt sted, og den skrives ikke i samme transaktion som tidslinjen eller checkpointet.
AgenticLoop · seks faser
core/agent/looplog · observation: kognitive · livscyklushændelserHookSystem · observationcore/hooksObservationshooks modtager og registrerer hændelser; de afgør ikke udførelse.
Andre indgangsstier
Beskedtjenester kommer ind som DAEMON-sessioner i serve-dæmonen; en ekstern MCP-værts run_agent går ind i en separat bygget headless enkeltkørselsløkke.
Beskedkanaldataflow: kanalbeskedbeskedpollers
core/serverServe-dæmonens pollers håndterer kun beskeder fra bundne kanaler.
beskedpollers
core/servertilladelse · sammensætning: create_session(DAEMON)SharedServices.create_sessionsupervised/services.pyEn modus uden en person til at godkende: standardpolicyen for afvisning og et tidsbudget gælder. Kun computer use kan slås til særskilt af en operatør; uden det forbliver det blokeret.
beskedpollers
core/serverdataflow: arun(message)AgenticLoop · seks fasercore/agent/loopEn tråd beholder ét fast session-id og fortsætter én checkpoint-kæde.
Ekstern MCP-værtdataflow: run_agent(prompt)run_agent · enkeltkørsel
core/mcp_server.pyEn ekstern MCP-vært kalder GEODE som et værktøj.
run_agent · enkeltkørsel
core/mcp_server.pydataflow: headless enkeltkørselsløkkeAgenticLoop · seks fasercore/agent/loopEn separat bygget headless executor og løkke, der går uden om SharedServices. Standardafvisningslisten gælder uændret, så værktøjer som run_bash, delegate_task og computer fjernes; DAEMON-undtagelsen for computer use findes ikke her.
Alle forbindelser med samme tykkelse. Vælg et flow for kun at fremhæve dets vej med nummererede trin.
- Fuldt optrukket · den retning, forespørgsler, beskeder og værktøjsresultater flyder
- Stiplet · sessionssammensætning, tilladelse eller dom; ikke en datasti
- Lang streg-prik · logs og observation; afspilles aldrig igen som tilstand
- Kort streg · afvisning før udførelse, ingen effekt
- Kraftig sort linje · det valgte flow; tal angiver rækkefølgen
- Boks · en kodeejende grænse med kildestien i overskriften
- Indre chip · en komponent inden for grænsen
- Stiplet boks · uden for runtime-processen
- Orange kontur · hvor en model træffer beslutninger
- Kørselsløkke
- Tilladelse · domme
- Loglagre
- Indgang · forbindelse · udførelse
Kun forbindelser, hvis kald er bekræftet, er tegnet. ContextAssemblers facade i fem niveauer, TaskGraph og forskningseksperimenter som Jev, SIL og Crucible ligger ikke på denne runtime-sti. Asynkron annullering stopper ikke synkront arbejde, der allerede er startet, og fortryder ikke effekter, der er sket.
Understøttede modeller · efter udbyder
Kodens katalogvalg og leverede standarder, ikke en liste, hvor hver model har bestået et live API-kald. Konfigurerede fallback-kæder er tomme som standard, og præcise id'er opgraderes aldrig automatisk til nyere versioner.
Anthropic
API
- PrimærClaude Opus 5.5
claude-opus-5-5Standard - SekundærClaude Sonnet 5
claude-sonnet-5Standard - LavprisClaude 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 afviser 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
Kun API
gpt-5.5gpt-5.3-codexgpt-5.4gpt-5.4-minigpt-5.4-nano
To adgangsruter til én udbyder; kataloget fastsætter, hvilke ruter hver model tillader.
- 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 tillader ikke ruten via GLM Coding Plan.
- StandardGLM-5.3
OpenRouter
Routingtjeneste
- VælgerFree (smoke)
openrouter/openrouter/freeRouter - VælgerAuto (variable)
openrouter/openrouter/autoRouter
Routervalg, ikke én fast model. Eksplicit konfigurerede id'er kan også beholdes.
- VælgerFree (smoke)
TypeSafe / Jev
Kun beslutninger · adskilt fra tekstgenerering
- Direkte
jev-1.13.0Kun beslutning - Via OpenRouter
typesafe/jev-1.13Kun beslutning
En valgfri adapter, der kun træffer vurderinger; den er ikke en rodmodel til tekstgenerering. Standardmotoren for vurdering er llm, og Jev skal vælges. Jev-studiets egne konfigurationer følger logs i Jev-visningen.
- Direkte
KildeGEODE main 373d420Offentlig commit 7. oktober 2026 · kontrolleret 8. oktober 2026
Eksperimenter
Modeller og ruter som registreret dengang, ikke nuværende standarder eller en komplet kompatibilitetsliste.
GEODE-benchmarkrapport
July 31, 2026
- GEODEGPT-5.6 Sol
gpt-5.6-solOpenAI-abonnement · high
- GEODEGPT-5.6 Sol
Terminal-Bench 2.1 · parret specifikation for Harbor 0.22.0
August 27, 2026
- GEODE · native CodexGPT-5.6 Sol
gpt-5.6-solabonnement · max
En frosset specifikation; ikke alle planlagte forsøg blev til et gyldigt resultat.
- GEODE · native CodexGPT-5.6 Sol
Arkiveret SIL-kørsel 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 log over adskilte roller, ikke to udskiftelige standarder.
- Mål-scaffoldGPT-5.5