コマンドがどう流れるか
実行モデル
すべてのリクエストは、実行前に計画、ポリシーゲート、監査証跡を通ります。
カバレッジ
契約状態: 32 implemented / 21 declared 総コマンドファミリー数: 53
最終検証: 2026/3/1
追跡しているもの
- 明示的な深さを持つコマンドファミリー
- ファミリーごとのカバレッジと証跡状態
- 実行成果物のルート/パス追跡性
実行パイプライン
user request -> approval check -> plan generation -> tool run -> result check -> activity log -> responseコマンドファミリーマトリクス
コマンドファミリーの出典: リリースリポジトリ
32 実装済み / 21 宣言のみ
総コマンド数: 400
最終検証スナップショット: 3/1/2026
53 件中 53 件を表示中。
コマンドマトリクス操作検索、絞り込み、表示モード
/acp
実装済み深さ 2コマンド数 2
/acp
実装済み/agent
宣言のみ深さ 0コマンド数 0
/agent
宣言のみ/agents
実装済み深さ 4コマンド数 4
/agents
実装済み/approvals
実装済み深さ 10コマンド数 10
/approvals
実装済み/browser
実装済み深さ 45コマンド数 45
/browser
実装済み/channels
実装済み深さ 31コマンド数 31
/channels
実装済み/chat
宣言のみ深さ 0コマンド数 0
/chat
宣言のみ/clawbot
実装済み深さ 2コマンド数 2
/clawbot
実装済み/codex
実装済み深さ 4コマンド数 4
/codex
実装済み/companion
実装済み深さ 8コマンド数 8
/companion
実装済み/completion
宣言のみ深さ 0コマンド数 0
/completion
宣言のみ/config
実装済み深さ 4コマンド数 4
/config
実装済み/configure
宣言のみ深さ 0コマンド数 0
/configure
宣言のみ/cron
実装済み深さ 16コマンド数 16
/cron
実装済み/daemon
実装済み深さ 7コマンド数 7
/daemon
実装済み/dashboard
宣言のみ深さ 0コマンド数 0
/dashboard
宣言のみ/devices
実装済み深さ 11コマンド数 11
/devices
実装済み/directory
実装済み深さ 9コマンド数 9
/directory
実装済み/dns
実装済み深さ 2コマンド数 2
/dns
実装済み/docs
宣言のみ深さ 0コマンド数 0
/docs
宣言のみ/doctor
宣言のみ深さ 0コマンド数 0
/doctor
宣言のみ/doppelganger
実装済み深さ 6コマンド数 6
/doppelganger
実装済み/gateway
実装済み深さ 36コマンド数 36
/gateway
実装済み/health
宣言のみ深さ 0コマンド数 0
/health
宣言のみ/hooks
実装済み深さ 7コマンド数 7
/hooks
実装済み/library
実装済み深さ 6コマンド数 6
/library
実装済み/live-browser-smoke
宣言のみ深さ 0コマンド数 0
/live-browser-smoke
宣言のみ/logs
宣言のみ深さ 0コマンド数 0
/logs
宣言のみ/memory
実装済み深さ 10コマンド数 10
/memory
実装済み/message
実装済み深さ 29コマンド数 29
/message
実装済み/models
実装済み深さ 12コマンド数 12
/models
実装済み/node
実装済み深さ 17コマンド数 17
/node
実装済み/nodes
実装済み深さ 24コマンド数 24
/nodes
実装済み/onboard
宣言のみ深さ 0コマンド数 0
/onboard
宣言のみ/pairing
実装済み深さ 9コマンド数 9
/pairing
実装済み/plugins
実装済み深さ 39コマンド数 39
/plugins
実装済み/qr
宣言のみ深さ 0コマンド数 0
/qr
宣言のみ/repl
宣言のみ深さ 0コマンド数 0
/repl
宣言のみ/reset
宣言のみ深さ 0コマンド数 0
/reset
宣言のみ/sandbox
実装済み深さ 3コマンド数 3
/sandbox
実装済み/security
実装済み深さ 8コマンド数 8
/security
実装済み/serve
宣言のみ深さ 0コマンド数 0
/serve
宣言のみ/sessions
宣言のみ深さ 0コマンド数 0
/sessions
宣言のみ/setup
宣言のみ深さ 0コマンド数 0
/setup
宣言のみ/skills
実装済み深さ 9コマンド数 9
/skills
実装済み/status
宣言のみ深さ 0コマンド数 0
/status
宣言のみ/system
実装済み深さ 10コマンド数 10
/system
実装済み/telegram
実装済み深さ 1コマンド数 1
/telegram
実装済み/tools
宣言のみ深さ 0コマンド数 0
/tools
宣言のみ/tui
宣言のみ深さ 0コマンド数 0
/tui
宣言のみ/uninstall
宣言のみ深さ 0コマンド数 0
/uninstall
宣言のみ/update
実装済み深さ 8コマンド数 8
/update
実装済み/webhooks
実装済み深さ 11コマンド数 11
/webhooks
実装済み整合性の証拠
Approval log example23 events processed - 214ms total
{
"requestId": "rq-2026-03-02-001",
"timestamp": "2026-03-02T01:09:04Z",
"route": "/v1/chat/completions",
"policy": "approved",
"commandFamily": "/status",
"result": "ok",
"elapsedMs": 214,
"hooks": [
"before-model",
"before-tool",
"after-tool",
"after-response"
],
"trace": [
"/api-gateway",
"/planner",
"/hooks",
"/tool",
"/validation",
"/activity-log"
],
"logFile": "/var/log/thomas/activity.jsonl"
}Execution JSON example6 steps with validation checks
{
"userPrompt": "List repository status",
"plan": {
"family": "status",
"command": "status",
"policyGate": "ok",
"approvalState": "required"
},
"execution": {
"output": {
"totalSteps": 6,
"exitCode": 0
},
"checks": {
"schemaValidation": true,
"policyGate": true,
"commandRules": true
}
},
"record": {
"activityId": "rq-2026-03-02-001",
"logPath": "/var/log/thomas/activity.jsonl"
}
}Request flowPlanning, execution, and result path
user request -> approval check -> plan generation -> tool run -> result check -> activity log -> responseCLI examplesHTTP and CLI use the same guarded path
thomas prompt "status"
thomas ask "List repository status"
thomas --help --jsonGateway 契約と CLI 整合
非ストリーム要求例
curl -X POST https://127.0.0.1:8787/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <local-token>" \
-d '{\n "model": "local-gpt",\n "messages": [{"role": "user", "content": "List repository status"}],\n "stream": false\n}'ストリーミングイベントモデル
event: response.started
data: {"id":"evt-01","type":"response.started","request_id":"rq-2026-03-02-001"}
event: tool.delta
data: {"id":"evt-01","type":"tool.delta","tool":"status","payload":{"phase":"running"}}
event: response.final
data: {"id":"evt-01","type":"response.final","status":"ok","request_id":"rq-2026-03-02-001"}非ストリーム応答形式
{
"id": "cmp-102",
"status": "ok",
"model": "local-gpt",
"request_id": "rq-2026-03-02-001",
"usage": {
"prompt_tokens": 14,
"completion_tokens": 32
}
}CLI 整合チェック
thomas prompt "status"
thomas ask "List repository status"
thomas --help --jsonプラグイン実行境界
フック実行アーキテクチャ
client
|-- parser + policy gate
|-- command planner
|-- execution runtime
\-- activity log
|-- before-model hooks
|-- before-tool hooks
|-- tool.exec hooks
|-- after-tool hooks
\-- after-response hooksライフサイクル
パッケージを導入
Manifest とチェックサムを検証
レジストリで有効化
保護された経路で実行
無効化して実行状態を削除
パッケージを削除
Manifest 例
{
"name": "thomas-plugin-guard",
"version": "0.1.0",
"entry": "dist/index.js",
"permissions": ["filesystem", "network:thomas-control"],
"hooks": [
"before-model",
"before-tool",
"after-tool",
"after-response"
]
}Install -> validate -> activate -> execute
thomas plugin install ./dist/thomas-plugin-guard.zip
thomas plugin validate thomas-plugin-guard
thomas plugin activate thomas-plugin-guard
thomas plugin run thomas-plugin-guard --diagnostic
thomas plugin deactivate thomas-plugin-guard
thomas plugin uninstall thomas-plugin-guard次に進めること
- 予定していないこと: 無制限な自律実行。
- 予定していないこと: ルート証拠なしに API 全面対応を主張すること。
- 予定していないこと: ポリシーゲートなしの暗黙的信頼。
コマンド証跡スナップショット
実装済み
コマンド証跡スナップショット
ファミリー単位のカバレッジ情報がソース成果物に結び付いています。
Gateway 契約カバレッジ
実装済み
Gateway 契約カバレッジ
HTTP 契約と CLI 呼び出しは同じガード/検証面を共有しています。
プラグインライフサイクル再現
宣言のみ
プラグインライフサイクル再現
次は、完全な導入とポリシーフック再現をトレース付きで検証することです。