GEODE
Autonomous Agent Harness
Od pozorování k další akci.
Lokální harness autonomního agenta, kterému lze svěřit výzkum, práci se soubory a plánované úlohy.
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
Než cokoli změnil, našel, co už existovalo.
Úloha: zabezpečení na úrovni řádků pro sociální službu s pěti tabulkami.
- PrůzkumPřečtení pěti tabulek, čtyř již existujících pomocných funkcí, vypnutého RLS u všech pěti a politik, oprávnění a rolí.
- AkceJedna transakce: 20 politik a zapnuté RLS, s opětovným využitím 3 existujících pomocných funkcí a přidáním 3 nových.
- Ověření18 úspěšných, 0 neúspěšných. Všech 13 odpovědí nástrojů v 9 tazích se vrátilo bez chyby.
Výstup verifikátoru, 18 řádků (doslovně)
- 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)
Minulý běh v nastaveném evaluačním sandboxu, nikoli živá databáze ani skutečný bezpečnostní incident. Počty řádků před politikami v záznamu nejsou, proto se nezobrazují. Veřejný záznam běhu (meta.json, commit 23e3428)
Revize výsledku a jeho oprava (inspirovaná Reflexion, v rámci téže úlohy) je schopností současného běhového prostředí GEODE. V tomto záznamu se taková oprava neobjevuje: každá odpověď nástroje se vrátila bez chyby. Dokumentace běhového prostředí (hook-system.md)
Další akci volí model; hranici provádění drží hostitel.
Běhové prostředí od vstupu požadavku do relace přes volání modelu a kontroly oprávnění u každého navrženého volání nástroje až po provedení, výsledky a záznamy. Výběr toku zvýrazní jen jeho cestu s očíslovanými kroky.
Další akci volí model; běhové prostředí kontroluje oprávnění nástrojů a rozhoduje, kdy je práce dokončena.
Externí experimenty Scaffold Search / SIL začaly May 15, 2026
Balíček geode-agent se instaluje z PyPI nebo z veřejného repozitáře a spouští ve vlastním terminálu. Dostupný je i jako server MCP.
Požadavek → volání modelu
Požadavek z terminálu přijde přes IPC, složí se relace a smyčka volá model se systémovým promptem, konverzací a schématy nástrojů.
Uživatel termináludatový tok: prompt · cli.sockCLIPoller · soket IPC
core/serverTenké CLI posílá požadavek na soket IPC démona serve (~/.geode/cli.sock). REPL provádí stejné složení relace uvnitř procesu.
CLIPoller · soket IPC
core/serveroprávnění · složení: create_session(IPC)SharedServices.create_sessionsupervised/services.pyKaždé spojení skládá relaci. Režim určuje úroveň HITL, časový rozpočet a zakázané nástroje a promítá BoundToolPlan na zvoleného poskytovatele.
CLIPoller · soket IPC
core/serveroprávnění · složení: lane na požadavekLaneQueue · session · globalsupervised/services.pyPřed provedením požadavku se drží lane relace i globální lane, což omezuje souběžné běhy.
SharedServices.create_session
supervised/services.pyoprávnění · složení: ToolExecutor · AgenticLoopAgenticLoop · šest fázícore/agent/loopSestavuje vykonavatele a smyčku jako jeden pár, který sdílí hooky, MCP, dovednosti a zámky prostředků.
LaneQueue · session · global
supervised/services.pydatový tok: arun(prompt)AgenticLoop · šest fázícore/agent/loopProvádí jeden uživatelský tah v šesti fázích: příprava vstupu, příprava volání, volání poskytovatele, zpracování nástrojů, pozorování a kompaktace, ukončení.
systémový prompt · deklarované zdroje
core/agent/loopdatový tok: systémový promptadapter.acomplete · třídy chybcore/llm/adaptersSestavuje se v každém tahu z deklarovaných zdrojů, jako jsou vybrané oddíly GEODE.md a pravidla. Pětiúrovňová fasáda ContextAssembler se používá jen při explicitním volání; není vstupem výchozí smyčky.
zprávy · ConversationContext
core/agent/loopdatový tok: zprávyadapter.acomplete · třídy chybcore/llm/adaptersKonverzace a dřívější výsledky nástrojů se předávají odděleně od systémového promptu.
BoundToolPlan · neměnný
core/tools/plan.pyoprávnění · složení: schémata nástrojůadapter.acomplete · třídy chybcore/llm/adaptersModel vidí jen nástroje z BoundToolPlan přiřazeného k tomuto kroku. Je to neměnný snímek s generací a hashem obsahu.
AgenticLoop · šest fází
core/agent/loopdatový tok: StepSnapshot · požadavekadapter.acomplete · třídy chybcore/llm/adaptersStepSnapshot fixuje model, nástroje a korelační ID tohoto volání. Middleware LLM nemůže vyměnit přiřazený adaptér.
adapter.acomplete · třídy chyb
core/llm/adaptersdatový tok: HTTPSPoskytovatelé LLMVolání provádí adaptér daného poskytovatele. Selhání se klasifikují a opakují jen v rámci stanoveného limitu, nebo ukončí tah s důvodem ukončení.
adapter.acomplete · třídy chyb
core/llm/adaptersdatový tok: odpověď · tool_useAgenticLoop · šest fázícore/agent/loopSamotný text vede k ukončení; tool_use vede ke zpracování nástrojů.
Oprávnění nástrojů → efekt → výsledek
Návrh tool_use se provede až po projití všemi kontrolami; zamítnutí, výsledky i chyby se vracejí z vykonavatele a stávají se dalším vstupem modelu.
AgenticLoop · šest fází
core/agent/loopdatový tok: čekající dávka · uložení kolaSQLite messages · state.jsonmemory/session_checkpoint.pyV relaci s nastaveným checkpointingem (checkpoint a session id) se navržená dávka uloží dřív, než se spustí jakýkoli nástroj, a pokud ji nelze uložit, neprovede se. Dokončená dávka se uloží znovu. Volající bez checkpointu tuto záruku nemají.
AgenticLoop · šest fází
core/agent/loopdatový tok: bloky tool_useToolCallProcessortool_executor/processor.pyNávrh modelu není oprávnění. Každé volání dostane ToolContext s identitou modelu a adaptéru smyčky.
ToolCallProcessor
tool_executor/processor.pydatový tok: aexecuterozsah · politika · schématool_executor/executor.pyPostupně kontroluje rozsah relace, přepisy middlewaru požadavků, politiku a schéma. Přepis, který snižuje úroveň bezpečnosti nebo třídu osobních údajů, je zamítnut.
BoundToolPlan · neměnný
core/tools/plan.pyoprávnění · složení: povoleno · úroveň bezpečnostirozsah · politika · schématool_executor/executor.pySpustitelné handlery a úrovně bezpečnosti pocházejí z BoundToolPlan promítnutého pro relaci.
PreToolUse · PostToolUse
tool_executor/executor.pyoprávnění · složení: PreToolUse · PostToolUseHookRegistry · rozhodnutícore/hooksVeřejné hooky rozhodují o blokaci, přepisu argumentů nebo žádosti o oprávnění a po přepisu následují znovu kontroly rozsahu, politiky a schématu. Po provedení může hook přidat kontext nebo výsledek zadržet.
schválení · HITL
tool_executor/executor.pyoprávnění · složení: žádost o schváleníUživatel termináluV relaci IPC se žádost o schválení předává tenkému CLI. Režimy bez člověka ve výchozím stavu uplatňují politiku zamítnutí; jedinou výjimkou je computer use v DAEMON, když ho operátor samostatně zapne (jinak je blokován).
tool_executor/executor.pyzamítnutí před provedením: zamítnuto před provedenímToolCallProcessor
tool_executor/processor.pyOdmítnutí kontrolou rozsahu, politiky nebo schématu, blokace PreToolUse nebo odepřené schválení se vracejí jako chybový výsledek bez dispatch. V takovém případě žádný efekt tohoto volání nezačal.
effect receipt
tool_executor/executor.pydatový tok: přijetí efektu · potvrzeníEffectReceiptStorememory/effect_receipts.pyEfekty jako změny souborů, odchozí zprávy nebo administrativní akce se přijímají před provedením. Nejistý výsledek se neprovádí znovu; vyžaduje se odsouhlasení.
zámek prostředku · dispatch
tool_executor/executor.pydatový tok: volání handleruhandlery nástrojů · bash · computercore/toolsPředává přiřazenému handleru po uzamčení jeho klíčů prostředků. Volání přerušené v termínu může venku stále běžet.
zámek prostředku · dispatch
tool_executor/executor.pydatový tok: volání MCPMCPServerManagercore/mcp/manager.pyVolají se jen nástroje MCP s deklarovanou politikou prostředků.
MCPServerManager
core/mcp/manager.pydatový tok: tools/callServery MCPKatalog serverů pochází z globálního nastavení a z nastavení projektu, která prošla kontrolou důvěryhodnosti; tato kontrola se týká jen položek projektu. Správce MCP uplatňuje svou politiku rozšíření a prostředků.
handlery nástrojů · bash · computer
core/toolsdatový tok: změny souborů · git · procesůSoubory · git · procesyProvedené změny zůstávají vnějším stavem. Checkpoint obnovuje jen konverzaci a změny nevrací zpět.
tool_executor/executor.pydatový tok: výsledek · chyba po dispatchToolCallProcessor
tool_executor/processor.pyPo dispatch se běžné výsledky i chyby (včetně vypršení času a nejistých výsledků) vracejí přes PostToolUse. Chyba nebo vypršení času neznamená, že se vnější práce zastavila nebo byla vrácena.
ToolCallProcessor
tool_executor/processor.pydatový tok: tool_resultzprávy · ConversationContextcore/agent/loopVýsledky, zamítnutí i chyby se stejně serializují jako tool_result a stávají se zprávami v dalším vstupu modelu.
ToolCallProcessor
tool_executor/processor.pyzáznam · pozorování: pozorování volání · výsledkuSessionTimeline · append-onlyobservability/session_timeline.pyZapisuje volání a jeho výsledek (ok nebo chyba) do timeline, včetně volání zamítnutých před provedením. Záznam je pozorování; nedokazuje, že vnější efekt začal nebo uspěl.
Záznamy · obnova · dokončení
Checkpoint, timeline a řádky dokladů se zapisují samostatně. Neexistuje sdílená transakce a checkpoint obnovuje jen konverzaci.
AgenticLoop · šest fází
core/agent/loopdatový tok: čekající dávka · uložení kolaSQLite messages · state.jsonmemory/session_checkpoint.pyV relaci s nastaveným checkpointingem (checkpoint a session id) se navržená dávka uloží dřív, než se spustí jakýkoli nástroj, a pokud ji nelze uložit, neprovede se. Dokončená dávka se uloží znovu. Volající bez checkpointu tuto záruku nemají.
SQLite messages · state.json
memory/session_checkpoint.pydatový tok: obnovení při navázáníAgenticLoop · šest fázícore/agent/loopJedna cesta obnovy vrací zprávy, kognitivní stav a čítače strážců. TaskGraph lokální pro proces se neobnovuje.
AgenticLoop · šest fází
core/agent/loopzáznam · pozorování: záznam tahuSessionTimeline · append-onlyobservability/session_timeline.pyHistorie provádění typu append-only, nikdy se nepřehrává jako stav.
AgenticLoop · šest fází
core/agent/loopoprávnění · složení: kontrola dokončeníverify_turn_asynccore/agent/verify.pyNávrh modelu skončit se stane dokončením jen přes Verify.
verify_turn_async
core/agent/verify.pyoprávnění · složení: PostVerify · StopHookRegistry · rozhodnutícore/hooksRozhodnutí veřejných hooků určují, zda pokračovat opravou, a opravy probíhají jen v rámci stanoveného rozpočtu (výchozí dvě).
AgenticLoop · šest fází
core/agent/loopzáznam · pozorování: řádky dokladů · best-effortEvidenceLedger · JSONLagent/evidence_ledger.pyMaskované diagnostické řádky. Hashe slouží ke korelaci; řádek nedokazuje, že efekt nastal, a nezapisuje se v jedné transakci s timeline ani checkpointem.
AgenticLoop · šest fází
core/agent/loopzáznam · pozorování: kognitivní události · události životního cykluHookSystem · pozorovánícore/hooksPozorovací hooky přijímají a zaznamenávají události; o provedení nerozhodují.
Další vstupní cesty
Komunikátory vstupují jako relace DAEMON démona serve; run_agent externího hostitele MCP vstupuje do samostatně sestavené bezhlavé jednorázové smyčky.
Kanál komunikátorudatový tok: zpráva kanálupollery komunikátorů
core/serverPollery démona serve zpracovávají jen zprávy z přiřazených kanálů.
pollery komunikátorů
core/serveroprávnění · složení: create_session(DAEMON)SharedServices.create_sessionsupervised/services.pyRežim bez člověka, který by schvaloval: platí výchozí politika zamítnutí a časový rozpočet. Jen computer use může operátor samostatně zapnout; jinak zůstává blokován.
pollery komunikátorů
core/serverdatový tok: arun(message)AgenticLoop · šest fázícore/agent/loopVlákno si drží jedno pevné session id a pokračuje v jednom řetězci checkpointů.
Externí hostitel MCPdatový tok: run_agent(prompt)run_agent · jednorázové spuštění
core/mcp_server.pyExterní hostitel MCP volá GEODE jako nástroj.
run_agent · jednorázové spuštění
core/mcp_server.pydatový tok: bezhlavá jednorázová smyčkaAgenticLoop · šest fázícore/agent/loopSamostatně sestavený bezhlavý vykonavatel a smyčka, které obcházejí SharedServices. Výchozí seznam zákazů platí beze změny, takže nástroje jako run_bash, delegate_task a computer jsou odebrány; výjimka computer use z DAEMON zde neexistuje.
Každé spojení se stejnou váhou. Výběr toku zvýrazní jen jeho cestu s očíslovanými kroky.
- Plná čára · směr toku požadavků, zpráv a výsledků nástrojů
- Přerušovaná čára · složení relace, oprávnění nebo rozhodnutí; není to datová cesta
- Dlouhá čerchovaná · záznamy a pozorování; nikdy se nepřehrávají jako stav
- Krátká čárka · zamítnutí před provedením, bez efektu
- Silná černá čára · zvolený tok; čísla udávají pořadí
- Rámeček · hranice vlastnictví kódu, cesta ke zdroji v záhlaví
- Vnitřní štítek · komponenta uvnitř této hranice
- Přerušovaný rámeček · mimo proces běhového prostředí
- Oranžový obrys · místo, kde rozhoduje model
- Smyčka provádění
- Oprávnění · rozhodnutí
- Úložiště záznamů
- Vstup · spojení · provádění
Nakreslena jsou jen spojení, jejichž volání byla potvrzena. Pětiúrovňová fasáda ContextAssembler, TaskGraph a výzkumné experimenty jako Jev, SIL a Crucible na této cestě běhového prostředí neleží. Asynchronní zrušení nezastaví již zahájenou synchronní práci ani nevrátí efekty, které nastaly.
Podporované modely · podle poskytovatele
Volby z katalogu v kódu a dodávaná výchozí nastavení, nikoli seznam, v němž každý model prošel živým voláním API. Nastavené záložní řetězce jsou ve výchozím stavu prázdné a přesná ID se nikdy automaticky nepovyšují na novější verze.
Anthropic
API
- HlavníClaude Opus 5.5
claude-opus-5-5Výchozí - VedlejšíClaude Sonnet 5
claude-sonnet-5Výchozí - ÚspornýClaude Haiku 4.5
claude-haiku-4-5-20251001Výchozí
Zobrazit všechna ID z katalogu (12)
API
claude-fable-5-1claude-opus-5-5výchozíclaude-opus-5claude-sonnet-5výchozíclaude-haiku-4-5-20251001výchozíclaude-fable-5claude-opus-4-8claude-opus-4-7claude-opus-4-6claude-opus-4-5claude-sonnet-4-6claude-sonnet-4-5-20250929
Kód odmítá cestu OAuth přes předplatné.
- HlavníClaude Opus 5.5
OpenAI
API · předplatné Codex
- Výchozí pro API i CodexGPT-6 Sol
gpt-6-solVýchozí
Zobrazit všechna ID z katalogu (11)
API · předplatné Codex
gpt-6-astragpt-6-solvýchozígpt-6-lunagpt-5.6-solgpt-5.6-terragpt-5.6-luna
Jen API
gpt-5.5gpt-5.3-codexgpt-5.4gpt-5.4-minigpt-5.4-nano
Dvě přístupové cesty k jednomu poskytovateli; katalog určuje, které cesty jednotlivé modely povolují.
- Výchozí pro API i CodexGPT-6 Sol
Z.ai / GLM
PAYG
- VýchozíGLM-5.3
glm-5.3Výchozí
Zobrazit všechna ID z katalogu (9)
PAYG
glm-5.3výchozíglm-5.3-flashglm-5.3-flashxglm-5.2glm-5.1glm-5glm-4.7glm-4.7-flashxglm-4.7-flash
Kód nepřipouští cestu GLM Coding Plan.
- VýchozíGLM-5.3
OpenRouter
Směrovací služba
- VýběrFree (smoke)
openrouter/openrouter/freeRouter - VýběrAuto (variable)
openrouter/openrouter/autoRouter
Volby routeru, nikoli jeden pevný model. Explicitně nastavená ID lze také ponechat.
- VýběrFree (smoke)
TypeSafe / Jev
Jen rozhodování · odděleně od generování textu
- Přímo
jev-1.13.0Jen rozhodování - Přes OpenRouter
typesafe/jev-1.13Jen rozhodování
Volitelný adaptér, který pouze posuzuje; není kořenovým modelem pro generování textu. Výchozím posuzovacím enginem je llm a Jev je nutné zvolit. Konfigurace samotné studie Jev se řídí záznamy v pohledu Jev.
- Přímo
ZdrojGEODE main 373d420Veřejný commit October 7, 2026 · ověřeno October 8, 2026
Experimenty
Modely a cesty tak, jak byly tehdy zaznamenány, nikoli současná výchozí nastavení ani úplný seznam kompatibility.
Benchmarková zpráva GEODE
July 31, 2026
- GEODEGPT-5.6 Sol
gpt-5.6-solPředplatné OpenAI · high
- GEODEGPT-5.6 Sol
Terminal-Bench 2.1 · párová specifikace Harbor 0.22.0
August 27, 2026
- GEODE · native CodexGPT-5.6 Sol
gpt-5.6-solpředplatné · max
Zmrazená specifikace; ne každý plánovaný pokus dal platný výsledek.
- GEODE · native CodexGPT-5.6 Sol
Archivovaný běh SIL run-2606-broken-tool-use
- Cílové lešeníGPT-5.5
gpt-5.5openai-codex - Auditor · soudceClaude Opus 4.8
claude-opus-4-8PAYG
Záznam oddělených rolí, nikoli dvou zaměnitelných výchozích hodnot.
- Cílové lešeníGPT-5.5