# 安全境界と記録

> エージェントのすべての書き込みが共有する経路、検証、ロックと、それぞれの操作が残す足あと。

エージェントは、ステーションへの 2 つ目の入口ではありません。どの呼び出しも、ページが呼ぶのと同じコードに着き、同じロックの下に置かれ、操作者の操作が残すのと同じ足あとを残します。

## すべての書き込みが共有する安全境界 {#guardrails-every-write-shares}

- **画面と同じ経路。**構成の書き込みは、ページと同じ設定と用途のサービスを通ります。実時間の書き込みはロジックの 1 本の書き込みの経路に乗り、実行の制御は Process の一生を通ります。エージェントが検証、ロック、記録を迂回できる並行の道はありません。
- **編集画面と同じ水準の検証。**upsert は、渡された引数を既存の宣言に重ね、重ねた下書きを編集画面と同じ規則で検証します。拒否された upsert が、途中まで適用された状態を残すことはありません。
- **エンジニアリングロックが効きます。**Process のユニットが実行中の間、構成の変更は「ユニットの実行中は構成がロックされます」という構造化された結果で拒否され、先に何を終わらせるべきかを名指しします。ページが拒むのとまったく同じです。
- **ランタイムが止まっていれば読み取り専用です。**ステーションのランタイムが止まっているとき、動き続けるのは、調べること、状態、一覧、ヘルプ（`help_search`、`help_read`）、レポートの書き出し、バックアップのスナップショット、そして画面の見当をつけること（`ui_state`、`ui_navigate`、`ui_screenshot`、`ui_scroll`）だけです。何かを変える呼び出しは、その範囲の切り替えが入っていても `Runtime stopped` と答えます。これから増えるツールも、読み取り専用だと意図して分類されるまでは、閉じる側に倒れて失敗します。
- **壊す力のあるツールには印が付きます。**設備に指令を出すツールと、データを壊すツール（`tag_write`、`action_run`、`process_recipe_apply`、`process_start`、`process_resume`、各種の削除、`server_stop` など）は MCP の破壊的の印を運ぶので、安全なツールを自動で承認するクライアントも、これらの前には尋ねます。

## エージェントの操作がどう記録されるか {#how-agent-actions-journal}

エージェントがすることはすべて、操作者の操作が残すのと同じ足あとを、いつも見ている場所に残します。

- endpoint の一生、エージェント側の構成の変更、そして拒否したブラウザーからの探りは、[イベント](events)のコンソールの**Agent**の領域に記録されます（`logs_read` は、そこを直接絞り込めます）。
- ロジックのランタイムの中の実時間の操作（変数の書き込み、タグの書き込み、アクションの実行、警報の確認）は、出どころ **MCP** として、画面から行った同じ操作の隣に記録されます。警報の履歴と、アクションの「呼び出し元」の行は、これを**エージェント**と書きます。
- エージェントが開始、停止、中止、コメントした実行は、実行記録ファイルと[履歴](histories)に、行った相手として**エージェント**を残します。ですから、していないことに人の名前が付くことはありません。
- 残り続けるイベントの記録は、エージェントにとっては追記だけです。`event_history_read` は、何も消せませんし、削除もできません。
- 何かを変えるエージェントの画面操作（`ui_click`、`ui_set_text`、`ui_select`、`ui_set_theme`）は、**Agent**の領域に 1 行を残します。ツール、操作した対象、ページを書き、書き込んだ文字は書きません。この行はプログラムのログファイル（`logs` フォルダー、[インストールと初回起動](app-install)を参照）と[詳細記録](events-console#detailed-capture)に入り、コンソールの一覧には入りません。ですから、長い自動操作が警告やエラーを一覧から押し出すことはありません。操作が引き起こしたことは、いつもどおりコンソールに記録されます。
