LOCAL AGENT EXECUTION BOUNDARY

任せる。でも、手放さない。

AI clientとToolのあいだに、実行の境界を。何を呼べるかを固定し、実行を分離し、結果と証跡を残す。その基盤を、Linux向けRust coreとReact / TypeScriptのWeb UIへ移行する開発を進めています。

内部検証・dogfood中 / 未リリース

01 / THE EXECUTION BOUNDARY
ROUTE DOCTOR起動前に経路を検査
Waypost起動時に許可したTool
AI client呼び出し元
MCP backend単一の実行先
許可された呼び出し
結果と証跡を返す
専用generationで分離
01 / CLIENTAI client呼び出し元
02 / WAYPOST起動時に許可したToolRoute Doctor · 起動前に経路を検査
03 / BACKENDMCP backend × 1専用generationで分離

↑ 結果と証跡を返すResult → Receipt → AI client

FIG. 01現在の実行経路を示す概念図。製品UIではありません。
LINUX / WSL2LOCAL STDIOONE MCP BACKEND現在地を見る

01 / WHY A BOUNDARY

つながるだけでは、任せられない。

Toolが見えることと、安全に実行できることは別です。AIの意図が現実への作用に変わる、その一点に境界が必要です。

01

途中で増えたToolも、呼べてしまう?

起動時の一覧を、実行の基準に。

02

実行の後始末は、どこまで届く?

所有するruntimeだけを、確実に扱う。

03

何が起きたか、何が残る?

呼び出しから証跡まで、ひとつの道筋に。

02 / ONE CONNECTED ROUTE

呼ぶ前から、結果が戻るまで。

AIの思考を管理するのではなく、Toolを実行する経路を扱います。coreを支えるのは、4つのつながった実行契約です。

  1. 01

    Decision

    実行の境界を確かめる

    起動時に固定したinventoryに基づき、呼び出せるToolを限定。

  2. 02

    Invocation

    許可されたToolを呼ぶ

    単一MCP backendへdispatch。runtimeは専用generationに分離。

  3. 03

    Result

    結果を受け取る

    Cancellationとdeadlineに上限を設け、公開向けの結果を扱う。

  4. 04

    Receipt

    実行の証跡を残す

    判断・呼び出し・結果をつなぐ記録。親task全体の完了保証とは別。

現在動いているcoreの経路。人向け承認画面や親taskの完了保証を示すものではありません。

03 / IMPLEMENTED, NOT RELEASED

小さく、明確な実行範囲。

local stdio · 単一MCP backend。以下は限定的な開発・検証環境で確認した基盤の範囲です。すべてが新しいRust coreへ移行済みという意味ではありません。

01

起動前に検査する

Route Doctorがroute設定と必要artifactを検査。実行が始まる前に、通る経路を確かめます。

02

一覧と実行を一致させる

起動時のTool inventoryは不変。session途中に追加されたToolへ、自動で実行権限を渡しません。

03

実行を分離する

起動ごとに実行環境を分離。検証済み入力のコピーは専用の一時ファイルシステムに置き、永続する監査記録とは保存先と寿命を分けます。公開向け結果から機密を除く設計です。

技術的な実装範囲を見る
MCP entry
Local stdio / 改行区切りJSON-RPC。initialize、notifications/initialized、ping、tools/list、tools/call。Protocol: 2024-11-05 / 2025-03-26 / 2025-06-18。
Artifact admission
Path、owner、mode、inode、size、hashを検査。検証したartifactとexecutableを経路に渡し、起動後の元file変更を混入させない構造。
Runtime & results
所有関係を確認して実行環境を扱い、cancellation / deadlineに上限を設けます。検証済み入力の一時保存と、監査記録・永続journalを分離。この構成は通常利用でも確認済みですが、あらゆる障害での完全な後片付けや全保存領域の増加停止を保証するものではありません。
Connector diagnostics
Initializeとtools/listの成功・失敗、stage、failure categoryを現在のprocess内に記録。永続的な全体health監視ではありません。
Single-parent Task Assurance
宣言した範囲・証拠・変更後の状態を照合し、確認できた範囲だけを完了とします。任意で有効化するローカルjournalで、再接続後の元結果回収、限定範囲の完了、証跡の書き出しを確認済みです。同じ要求キーと内容には元結果を返し、内容違いは拒否。版番号の照合で古い状態からの上書きを防ぎ、MCP結果は保存前にサイズを検査します。外部への作用が必ず一度だけ起きる保証ではありません。

04 / FIELD NOTES

Coreから、ローカルUIへ。製品化は、これから。

公開ステータス

2026年10月9日時点の開発状況です。Linux向けRust coreとReact / TypeScript Web UIへの移行は進行中。以下の限定範囲の検証は、一般提供や業務利用への準備完了を意味しません。

Xで開発を追う
確認済み / LinuxのローカルUI

Rust coreとWeb UIを、動く基盤に。

Linux上でRust coreとReact / TypeScript Web UIを動かし、読み取り専用の状態表示を確認しました。設定されたProviderのカタログ表示と、単一ProviderからのTool一覧取得も限定範囲で検証済みです。

検証の根拠と範囲

新しい基盤では、固定したテスト用Toolの呼び出しを一回確認しました。完成した管理画面や、任意のToolを有効化できる機能ではありません。ネットワーク接続が必要なProviderや認証情報を使う機能の動作は、今回の移行検証では確認していません。

確認済み / 保存と再開

切れても、保存済みの結果から再開する。

保存済みの元結果を再接続後に回収し、確認できた範囲で仕事を閉じて証跡を書き出す流れを実運用で確認しました。成功・失敗・キャンセル・不明を混同しません。

検証の根拠と範囲

実Codex clientで要求ごとの人間承認を経た、限定的な復旧フローです。要求・承認・結果を照合し、書き出した証跡と元データの一致を確認しました。保存していなかった過去の結果を復元した証拠ではなく、外部への作用が必ず一度だけ起きる保証でもありません。新しいRust基盤でのテスト呼び出しとは別の確認範囲です。

確認済み / ローカルの読み取り

つながった実行先を、明示して読む。

ローカルブラウザで選択した実行先の同一性を確認し、明示的な読み取り許可のもとで静的な起動条件とTool一覧を表示する限定的な流れが受け入れられました。

検証の根拠と範囲

同じ実行先の不変なTool一覧に結び付く説明を表示します。通常のブラウザでnativeの静的設定検査が有効な結果を返したことも、限定された範囲で確認済みです。その結果は検査時点のものです。実際の実行を許可するには再検証が必要で、構成の有効性だけで起動・実行可能とは言えません。

05 / DEVELOPMENT JOURNEY

開発の軌跡

接続の基盤から、日々使うための実行境界へ。一直線の成功ではなく、繰り返し使うなかで見つかった課題を設計に戻してきました。

  1. 接続と契約の基盤

    Toolをつなぐだけでなく、判断・呼び出し・結果・証跡を結ぶ契約を整えました。実行できる範囲を明確にする出発点です。

  2. 日々の利用を、検証の場に

    開発者自身のAI作業で使い、承認・実行・監査をつなぐ経路を確かめてきました。起動や終了、記録の保持といった運用上の課題も見えてきました。

  3. 保存した結果から再開する

    要求ごとの人間承認のもと、再接続後の保存済み結果の回収を限定範囲で確認しました。ローカルブラウザで同じ実行先を選び、明示的な許可で読む基盤も検証しました。

  4. LinuxのRust coreとWeb UIへ

    Rust coreとReact / TypeScript Web UIへの段階的な移行を進めています。状態表示と限定的な接続・テスト呼び出しを確認しましたが、移行はまだ完了していません。

  5. 一時入力と監査記録の寿命を分ける

    通常終了だけの検証では足りず、強制終了時にも一時入力が残り得ることを学びました。検証済み入力を隔離環境の一時領域へ移し、永続する監査記録との分離を通常利用でも確認しました。

06 / THE ROAD AHEAD

次に、確かめること。

開発中 / 移行と製品化

人が安心して扱える製品へ。

Rust coreへの移行を進めながら、権限管理、使いやすい操作画面、配布・更新の仕組みを整えます。ローカルUIの基盤が動くことと、完成した管理製品を提供できることは別です。

検証の境界を読む

Providerの再起動方針や継続的な健全性監視、複数の作業を横断した確認も、完成した製品機能ではありません。設定や一覧にProviderが見えることと、実際に使えることは別で、接続先ごとの認証と健全性の確認が必要です。限定された接続・実行の検証は、任意のToolへの実行権限や全環境への正式対応を示しません。

起動 / 過去の参考値

起動時間にも、前進。保証とは分ける。

開発中の過去測定では起動時間の短縮を観測しました。公開ベンチマークや現在の製品性能を示すものではなく、全環境での起動時間を保証しません。

検証の境界を読む

単発の比較で、OSやストレージのキャッシュ条件は統一していません。現在の実装の再測定や、統制されたベンチマークではありません。複数clientへの対応と起動性能には、製品としての検証が必要です。

AUTONOMY WITH BOUNDARIES.

境界のある自律を、つくっていく。

動いていることも、まだ分からないことも。開発の道筋をXで共有しています。