# Automation Safety Protocol: Keeping the "Human" in Loop

*   **Date**: 2026-01-19
*   **Subject**: Risk Assessment & Safety Rails for the AI Factory

## 1. 懸念の核心: "AIは勝手に暴走するか？"

ユーザー様が抱く「AIが知らないところで何かをするのではないか」という不安は、非常に健全かつ重要です。
結論から言うと、**今回構築するシステム(Dokploy CI/CD)は暴走しません。**
しかし、「Phase 2B: AIエージェント」の段階ではリスクが生じます。

### 🤖 2つの「自動化」の違い

| 種類 | 仕組み | 今回の構成 (Dokploy) | リスク |
| :--- | :--- | :--- | :--- |
| **決定的自動化 (Deterministic)** | "Aが起きたら必ずBをする" | **YES** (Git Push → Deploy) | **なし** (人間が引き金を引くまで動かない) |
| **自律的自動化 (Autonomous)** | "AI自身が考えて行動する" | **NO** (将来の構想) | **あり** (予期せぬコード書き換えなど) |

今回は **前者の「決定的自動化」** しか導入しません。
つまり、**あなたが `git push` を押さない限り、世界は1ミリも動きません。**

## 2. Safety Rails (安全装置)

それでも「もしも」に備え、以下の3つの安全装置を定義します。

### 🛡️ Rail 1: "The Human Trigger" (人間以外お断り)
*   **ルール**: Dokployのデプロイ承認を「Git Push」のみに限定する。
*   **効果**: AIが勝手にコードを書き換えても、あなたが確認してPushしない限り、本番環境には反映されません。
*   **Gitea連携**: GiteaのProtected Branch設定で、MainブランチへのPushを制限可能です。

### 🛡️ Rail 2: "Visibility" (通知システム)
「知らないところで何かが起きる」を防ぐため、全てのイベントを通知させます。
*   **Slack / Discord / LINE Invoke**:
    *   ビルド開始時 🔔
    *   デプロイ成功時 ✅
    *   デプロイ失敗時 ❌
*   **Dokploy**: Webhook機能でこれを標準サポートしています。

### 🛡️ Rail 3: "The Kill Switch" (緊急停止ボタン)
万が一、無限ループなどの異常動作が発生した場合の停止手順です。

1.  **Level 1 (アプリ停止)**: Dokploy管理画面から `Stop` ボタン。
2.  **Level 2 (サーバー停止)**: ConoHa VPSの管理画面から「強制停止 (Power Off)」。
    *   これは物理電源を抜くのと同じで、どんなAIもこれには抗えません。

## 3. 将来のリスク管理 (Phase 2B以降)

将来、本当に「AIが勝手にコードを修正してデプロイする」世界を作る場合は、以下の層を追加します。

*   **Sandbox環境 (Staging)**: AIはいきなり本番(Production)を触らせず、まず誰にも公開されていないテスト環境(Staging)にデプロイさせる。
*   **AI監査官**: 別のAIにコードをレビューさせる（例: "この変更はデータベースを削除しますか？" → Yesならブロック）。

## 4. 結論

**今回は「工場のベルトコンベア」を作るだけであり、「勝手に動くロボット」を作るわけではありません。**
スイッチを握っているのは、常にあなた（人間）です。
安心して「自動化のスイッチ」を入れてください。
