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
変える前に、すでにあるものを見つけました。
課題: 5つのテーブルからなるソーシャルサービスに、行レベルセキュリティを設定すること。
- 調査5つのテーブル、すでにあった4つの補助関数、5つすべてで無効のRLS、そしてポリシー、権限、ロールを読みました。
- 実行1つのトランザクションで、ポリシー20個とRLSを有効化。既存の補助関数3つを再利用し、関数を3つ追加しました。
- 検証18件合格、0件失敗。9ターンにわたる13回のツール応答は、すべてエラーなく返りました。
検証器の出力18行(原文のまま)
- 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)
設定された評価サンドボックスでの過去の実行であり、本番のデータベースや実際のセキュリティインシデントではありません。ポリシー適用前の行数は記録にないため、表示していません。 公開実行記録(meta.json、コミット23e3428)
結果を見直して修正する段階(Reflexionに着想を得た、同じタスク内での修正)は、現在のGEODEランタイムの機能です。この記録にはそうした修正は現れません。すべてのツール応答がエラーなく返っています。 ランタイムのドキュメント(hook-system.md)
次の行動を選ぶのはモデル、実行境界を守るのはホスト。
リクエストがセッションに入り、モデル呼び出しと、提案された各ツール呼び出しへの権限確認を経て、実行、結果、記録に至るまでのランタイムです。フローを選ぶと、その経路だけが番号付きのステップで強調されます。
次の行動はモデルが選び、ランタイムがツールの権限を確認して、作業の完了を判断します。
外部Scaffold Search / SIL実験の開始 May 15, 2026
PyPIのgeode-agentパッケージか公開リポジトリからインストールし、自分のターミナルで実行します。MCPサーバーとしても接続できます。
リクエスト → モデル呼び出し
ターミナルからのリクエストがIPCで届いてセッションが構成され、ループがシステムプロンプト・会話・ツールスキーマを添えてモデルを呼び出します。
ターミナルのユーザーデータフロー: prompt · cli.sockCLIPoller · IPCソケット
core/serverthin CLIがserveデーモンのIPCソケット(~/.geode/cli.sock)へリクエストを送ります。REPLは同じセッション構成をプロセス内で実行します。
CLIPoller · IPCソケット
core/server権限 · 構成: create_session(IPC)SharedServices.create_sessionsupervised/services.py接続ごとにセッションを構成します。モードがHITLの水準、時間予算、拒否するツールを決め、BoundToolPlanを選択したプロバイダーに合わせて投影します。
CLIPoller · IPCソケット
core/server権限 · 構成: リクエストごとのレーンLaneQueue · session · globalsupervised/services.pyリクエストを実行する前に、セッションのレーンとグローバルのレーンを両方確保し、同時実行を制限します。
SharedServices.create_session
supervised/services.py権限 · 構成: ToolExecutor · AgenticLoopAgenticLoop · 6段階core/agent/loopフック・MCP・スキル・リソースロックを共有する実行器とループを、1組として構築します。
LaneQueue · session · global
supervised/services.pyデータフロー: arun(prompt)AgenticLoop · 6段階core/agent/loop1つのユーザーターンを6つの段階(入力の準備、呼び出しの準備、プロバイダー呼び出し、ツール処理、観測と圧縮、終了)で実行します。
システムプロンプト · 宣言されたソース
core/agent/loopデータフロー: システムプロンプトadapter.acomplete · エラー分類core/llm/adaptersGEODE.mdから選んだ節やルールなど、宣言されたソースから毎ターン構築します。ContextAssemblerの5層ファサードは明示的に呼び出したときだけ使われ、既定のループの入力ではありません。
会話メッセージ · ConversationContext
core/agent/loopデータフロー: 会話メッセージadapter.acomplete · エラー分類core/llm/adapters会話と以前のツール結果は、システムプロンプトとは別に渡されます。
BoundToolPlan · 不変
core/tools/plan.py権限 · 構成: ツールスキーマadapter.acomplete · エラー分類core/llm/adaptersこのステップに結び付いたBoundToolPlanのツールだけがモデルに見えます。世代とコンテンツハッシュを持つ不変のスナップショットです。
AgenticLoop · 6段階
core/agent/loopデータフロー: StepSnapshot · リクエストadapter.acomplete · エラー分類core/llm/adaptersStepSnapshotがこの呼び出しのモデル・ツール・相関IDを固定します。LLMミドルウェアは、結び付いたアダプターを差し替えられません。
adapter.acomplete · エラー分類
core/llm/adaptersデータフロー: HTTPSLLMプロバイダープロバイダーごとのアダプターが呼び出します。失敗は分類され、決められた回数の範囲でのみ再試行されるか、終了理由とともにターンを終えます。
adapter.acomplete · エラー分類
core/llm/adaptersデータフロー: 応答 · tool_useAgenticLoop · 6段階core/agent/loopテキストだけなら終了へ、tool_useならツール処理へ進みます。
ツール権限 → 副作用 → 結果
tool_useの提案はすべての検査を通過して初めて実行されます。拒否・結果・エラーはいずれも実行器から返り、次のモデル入力になります。
AgenticLoop · 6段階
core/agent/loopデータフロー: 保留中のバッチ · ラウンド保存SQLite messages · state.jsonmemory/session_checkpoint.pyチェックポイントが設定されたセッション(checkpointとsession idがある場合)では、ツールを実行する前に提案されたバッチを保存し、保存できなければそのバッチは実行しません。完了したバッチも再び保存します。チェックポイントなしの呼び出し元には、この保証はありません。
AgenticLoop · 6段階
core/agent/loopデータフロー: tool_useブロックToolCallProcessortool_executor/processor.pyモデルの提案は権限ではありません。呼び出しごとに、ループのモデルとアダプターの識別情報を持つToolContextを作ります。
ToolCallProcessor
tool_executor/processor.pyデータフロー: aexecuteスコープ · ポリシー · スキーマtool_executor/executor.pyセッションのスコープ、リクエストミドルウェアによる書き換え、ポリシー、スキーマを順に確認します。安全レベルや個人データ区分を下げる書き換えは拒否します。
BoundToolPlan · 不変
core/tools/plan.py権限 · 構成: 許可 · 安全レベルスコープ · ポリシー · スキーマtool_executor/executor.py実行可能なハンドラと安全レベルは、セッションに投影されたBoundToolPlanから得ます。
PreToolUse · PostToolUse
tool_executor/executor.py権限 · 構成: PreToolUse · PostToolUseHookRegistry · 決定core/hooks公開フックがブロック、引数の書き換え、権限要求のいずれかを決め、書き換えの後にはスコープ・ポリシー・スキーマを再び確認します。実行後、フックはコンテキストを加えたり、結果を差し止めたりできます。
承認 · HITL
tool_executor/executor.py権限 · 構成: 承認要求ターミナルのユーザーIPCセッションの承認要求はthin CLIへ中継されます。人がいないモードは既定で拒否ポリシーを適用します。唯一の例外は、運用者が別途有効にした場合のDAEMONのcomputer useです(有効にしなければブロックされます)。
tool_executor/executor.py実行前の拒否: 実行前に拒否ToolCallProcessor
tool_executor/processor.pyスコープ・ポリシー・スキーマによる拒否、PreToolUseのブロック、承認の却下は、ディスパッチされずにエラー結果として返ります。この場合、この呼び出しの副作用は始まっていません。
effect receipt
tool_executor/executor.pyデータフロー: 副作用の受付 · 確定EffectReceiptStorememory/effect_receipts.pyファイル変更、外部への送信、管理操作などの副作用は、実行前に受け付けます。結果が不確かなときは再実行せず、照合を求めます。
リソースロック · ディスパッチ
tool_executor/executor.pyデータフロー: ハンドラ呼び出しツールハンドラ · bash · computercore/toolsリソースキーをロックしてから、結び付いたハンドラへディスパッチします。期限で中断した呼び出しも、外部では実行が続いている場合があります。
リソースロック · ディスパッチ
tool_executor/executor.pyデータフロー: MCP呼び出しMCPServerManagercore/mcp/manager.pyリソースポリシーが宣言されたMCPツールだけを呼び出します。
MCPServerManager
core/mcp/manager.pyデータフロー: tools/callMCPサーバーサーバー一覧は、グローバル設定と、信頼確認を通過したプロジェクト設定から得ます。信頼確認はプロジェクトの項目にのみ適用されます。MCPマネージャーが拡張機能とリソースのポリシーを適用します。
ツールハンドラ · bash · computer
core/toolsデータフロー: ファイル · git · プロセスの変更ファイル · git · プロセス実行した変更は外部の状態として残ります。チェックポイントは会話だけを復元し、これらの変更を元に戻しません。
tool_executor/executor.pyデータフロー: 結果 · ディスパッチ後のエラーToolCallProcessor
tool_executor/processor.pyディスパッチ後の正常な結果とエラー(タイムアウトと不確かな結果を含む)は、PostToolUseを経て返ります。エラーやタイムアウトは、外部の作業が止まった、または取り消されたことを意味しません。
ToolCallProcessor
tool_executor/processor.pyデータフロー: tool_result会話メッセージ · ConversationContextcore/agent/loop結果、拒否、エラーはいずれもtool_resultとしてシリアライズされ、次のモデル入力のメッセージになります。
ToolCallProcessor
tool_executor/processor.py記録 · 観測: 呼び出し · 結果の観測SessionTimeline · append-onlyobservability/session_timeline.py呼び出しとその結果(正常またはエラー)をタイムラインに書き込みます。実行前に拒否された呼び出しも含みます。この記録は観測であり、外部の副作用が始まった、または成功したことの証明ではありません。
記録 · 復旧 · 完了
チェックポイント、タイムライン、証拠行はそれぞれ別に書き込まれます。共有のトランザクションはなく、チェックポイントは会話だけを復元します。
AgenticLoop · 6段階
core/agent/loopデータフロー: 保留中のバッチ · ラウンド保存SQLite messages · state.jsonmemory/session_checkpoint.pyチェックポイントが設定されたセッション(checkpointとsession idがある場合)では、ツールを実行する前に提案されたバッチを保存し、保存できなければそのバッチは実行しません。完了したバッチも再び保存します。チェックポイントなしの呼び出し元には、この保証はありません。
SQLite messages · state.json
memory/session_checkpoint.pyデータフロー: 再開時の復元AgenticLoop · 6段階core/agent/loop1つの復元経路で、メッセージ、認知状態、ガードのカウンターを戻します。プロセス内にだけあるTaskGraphは復元されません。
AgenticLoop · 6段階
core/agent/loop記録 · 観測: ターン記録SessionTimeline · append-onlyobservability/session_timeline.py追記専用の実行履歴です。状態として再生することはありません。
AgenticLoop · 6段階
core/agent/loop権限 · 構成: 完了の検査verify_turn_asynccore/agent/verify.pyモデルの終了提案は、Verifyを経て初めて完了になります。
verify_turn_async
core/agent/verify.py権限 · 構成: PostVerify · StopHookRegistry · 決定core/hooks公開フックの決定が修正を続けるかどうかを示し、修正は決められた予算(既定で2回)の範囲でのみ行います。
AgenticLoop · 6段階
core/agent/loop記録 · 観測: 証拠行 · ベストエフォートEvidenceLedger · JSONLagent/evidence_ledger.py秘匿化した診断行です。ハッシュは相関付けのためのもので、行があっても副作用が起きた証明にはなりません。また、タイムラインやチェックポイントと同じトランザクションでは書き込まれません。
AgenticLoop · 6段階
core/agent/loop記録 · 観測: 認知 · ライフサイクルのイベントHookSystem · 観測core/hooks観測フックはイベントを受け取って記録するだけで、実行を決定しません。
その他の入口経路
メッセンジャーはserveデーモンのDAEMONセッションとして、外部MCPホストのrun_agentは別途構築したヘッドレスの単発ループとして入ります。
メッセンジャーのチャンネルデータフロー: チャンネルのメッセージメッセンジャーのポーラー
core/serverserveデーモンのポーラーは、バインドされたチャンネルのメッセージだけを処理します。
メッセンジャーのポーラー
core/server権限 · 構成: create_session(DAEMON)SharedServices.create_sessionsupervised/services.py承認する人がいないモードのため、既定の拒否ポリシーと時間予算が適用されます。運用者が別途有効にできるのはcomputer useだけで、有効にしなければブロックされたままです。
メッセンジャーのポーラー
core/serverデータフロー: arun(message)AgenticLoop · 6段階core/agent/loop1つのスレッドは固定のsession idを保ち、1本のチェックポイントの連鎖を続けます。
外部MCPホストデータフロー: run_agent(prompt)run_agent · 単発実行
core/mcp_server.py外部MCPホストがGEODEをツールとして呼び出します。
run_agent · 単発実行
core/mcp_server.pyデータフロー: ヘッドレスの単発ループAgenticLoop · 6段階core/agent/loopSharedServicesを経由せずに別途構築した、ヘッドレスの実行器とループです。既定の拒否リストがそのまま適用されるため、run_bash、delegate_task、computerなどのツールは除かれます。DAEMONのcomputer useの例外はここにはありません。
すべての接続を同じ太さで表示します。フローを選ぶと、その経路だけを番号付きで強調します。
- 実線 · リクエスト・メッセージ・ツール結果が流れる方向
- 破線 · セッション構成・権限・判定、データ経路ではない
- 長い一点鎖線 · 記録と観測、状態として再生しない
- 短い破線 · 実行前の拒否、副作用なし
- 太い黒線 · 選んだフロー。番号は順序
- ボックス · コードを所有する境界、見出しにソースパス
- 内側のチップ · その境界内の構成要素
- 破線ボックス · ランタイムプロセスの外
- オレンジの枠 · モデルが判断する場所
- 実行ループ
- 権限 · 判定
- 記録ストア
- 入口 · 接続 · 実行
呼び出しを確認できた接続だけを描いています。ContextAssemblerの5層ファサード、TaskGraph、Jev、SIL、Crucibleなどの研究実験は、このランタイム経路にありません。非同期のキャンセルは、すでに始まった同期処理を止めず、起きた副作用も元に戻しません。
対応モデル · プロバイダー別
コードのカタログの選択肢と出荷時の既定値です。すべてのモデルが実際のAPI呼び出しを通過した一覧ではありません。設定されたフォールバックチェーンは既定で空で、正確なIDが新しいバージョンへ自動で更新されることはありません。
Anthropic
API
- 主モデルClaude Opus 5.5
claude-opus-5-5既定設定 - 補助Claude Sonnet 5
claude-sonnet-5既定設定 - 低コストClaude Haiku 4.5
claude-haiku-4-5-20251001既定設定
カタログID 12件をすべて表示
API
claude-fable-5-1claude-opus-5-5既定claude-opus-5claude-sonnet-5既定claude-haiku-4-5-20251001既定claude-fable-5claude-opus-4-8claude-opus-4-7claude-opus-4-6claude-opus-4-5claude-sonnet-4-6claude-sonnet-4-5-20250929
サブスクリプションのOAuth経路は、コードが拒否します。
- 主モデルClaude Opus 5.5
OpenAI
API · Codexサブスクリプション
- APIとCodexの既定GPT-6 Sol
gpt-6-sol既定設定
カタログID 11件をすべて表示
API · Codexサブスクリプション
gpt-6-astragpt-6-sol既定gpt-6-lunagpt-5.6-solgpt-5.6-terragpt-5.6-luna
APIのみ
gpt-5.5gpt-5.3-codexgpt-5.4gpt-5.4-minigpt-5.4-nano
1つのプロバイダーへの2つのアクセス経路です。各モデルが許可する経路は、カタログが決めます。
- APIとCodexの既定GPT-6 Sol
Z.ai / GLM
PAYG
- 既定GLM-5.3
glm-5.3既定設定
カタログID 9件をすべて表示
PAYG
glm-5.3既定glm-5.3-flashglm-5.3-flashxglm-5.2glm-5.1glm-5glm-4.7glm-4.7-flashxglm-4.7-flash
GLM Coding Planの経路は、コードが受け付けません。
- 既定GLM-5.3
OpenRouter
ルーティングサービス
- セレクターFree (smoke)
openrouter/openrouter/freeルーター - セレクターAuto (variable)
openrouter/openrouter/autoルーター
1つの固定モデルではなく、ルーターによる選択です。明示的に設定したIDも保持できます。
- セレクターFree (smoke)
TypeSafe / Jev
判断専用 · テキスト生成とは別
- 直接
jev-1.13.0判断専用 - OpenRouter経由
typesafe/jev-1.13判断専用
判断だけを行うオプションのアダプターで、ルートのテキスト生成モデルではありません。既定の判断エンジンはllmで、Jevは選択する必要があります。Jev研究自体の構成は、「Jev」章の記録に従います。
- 直接
出典GEODE main 373d420公開コミット2026年10月7日 · 2026年10月8日確認
実験
当時記録されたモデルと経路です。現在の既定値や、完全な互換性リストではありません。
GEODEベンチマークレポート
July 31, 2026
- GEODEGPT-5.6 Sol
gpt-5.6-solOpenAIサブスクリプション · high
- GEODEGPT-5.6 Sol
Terminal-Bench 2.1 · Harbor 0.22.0のペア実行仕様
August 27, 2026
- GEODE · native CodexGPT-5.6 Sol
gpt-5.6-solサブスクリプション · max
凍結された仕様で、計画した試行がすべて有効な結果になったわけではありません。
- GEODE · native CodexGPT-5.6 Sol
アーカイブ済みのSIL実行run-2606-broken-tool-use
- 対象スキャフォールドGPT-5.5
gpt-5.5openai-codex - 監査 · 判定Claude Opus 4.8
claude-opus-4-8PAYG
役割を分けた記録で、入れ替えて使える2つの既定値ではありません。
- 対象スキャフォールドGPT-5.5