# Portability: SYSTEM
# Last validated: 2026-05-17
# Next review: 2027-05-17
# リソース: [メッセージ テーブル、ハブ/messages.py、ハブ/partner.py]

COMMUNICATE - パートナー通信システム
==========================================

日付: 2026-02-08

通信システム (レイヤー 4) は情報の交換を管理します
すべてのインスタンス (人間と AI) の間。

コアコンセプト
------------
1. MESSAGING: DB 内の永続的なメッセージ ルーティング。
2. プロトコル: 標準化されたプロセス (ハンドシェイク、リクエスト、転送)。
3. ワークスペース: ファイル交換用の物理ディレクトリ (system/partners/)。
4. 存在: アクティブなオンライン ステータスと監視メカニズム。

登録パートナー (10)
-------------------------
内部システム:
  user ユーザー [✓ アクティブ]
  クロード クロード (Opus 4.6) [✓ アクティブ]
  bach      BACH Core System       [✓ アクティブ]

ローカル AI:
  オラマ ミストラル 7B [✓ アクティブ]
  ラマ ラマ 3 8B [✓ アクティブ]

外部 AI:
  gemini Google Gemini [✓ アクティブ]
  gpt OpenAI GPT [○ 非アクティブ]

API:
  pubmed PubMed MCP [✓ アクティブ]

サービス:
  Google ドライブをドライブ [✓ アクティブ]

ツール:
  canva Canva MCP [✓ アクティブ]

パートナー検出
-----------------
キーワードによりパートナー選択が自動的にトリガーされます:

  ollam: 一括、埋め込み、トークンフリー、下書きメール
  pubmed: 遺伝子、タンパク質、疾患、臨床、生物医学
  google_drive: Google ドライブ、ドキュメントの検索、ドライブの検索
  Canva: デザイン、プレゼンテーション、ポスター、インフォグラフィック
  gemini: 深い調査、長い文書、概念分析

ルーティング チャネル
---------------
|パートナー |チャンネル |ステータス |
|----------|--------|----------|
|オラマ |ダイレクト API、キュー | ✓ |
|ユーザー |メッセージボックス | ✓ |
|パブメド | MCPサーバー | ✓ |
|カンバ | MCPサーバー | ✓ |
|グーグルドライブ | API | ✓ |
|ジェミニ |パートナー/ジェミニ/ | ✓ 

|健康チェック
-------------
オラマ:curl http://127.0.0.1:11434/api/tags
Google ドライブ: API トークンのチェック
PubMed: MCP 接続テスト
Canva: MCP 接続テスト

トークン ゾーン (委任)
------------------------
ゾーン 1 (0-30%): すべてのパートナーが利用可能
ゾーン 2 (30-60%): 安価なパートナー (Ollama を優先)
ゾーン 3 (60 ～ 80%): 地元パートナーのみ
ゾーン 4 (80-100%): 緊急時のみ (人間 + Ollama)

CLI コマンド (bach msg)
----------------------
  list [--inbox/--outbox] [--limit N] すべてのメッセージを表示します。
  未読 未読メッセージのみ。
  send <NAME> <TEXT> [--from SENDER] メッセージを送信します。
  read <ID> [--ack] メッセージを読み取り、必要に応じて確認します。
  ping [--from NAME] 未読の TO パートナーを表示します。
  watch [--from NAME] ライブポーリング (10 秒ごとにチェック)。
  count メッセージ数を表示します。
  delete <ID> [ID2...] メッセージを削除します。
  archive <ID> [ID2...] メッセージをアーカイブします。

メッセージ タイプ
-----------------
- タスク: パートナーへの注文 (`_TASKS.md` + `msg send` 経由)。
- 情報: ステータスの更新とレポート (`outbox/`)。
- アラート: エラー メッセージとエスカレーション (問題モニター)。

対話プロトコル
----------------------
1。ハンドシェイク：相互承認と機能チェック（健康状態）。
2. REQUEST: データまたはサービスに対する正式なリクエスト。
3. 転送: ワークスペースまたは DB を介した物理的な転送。
4. 確認: 受信と処理の確認 (受信)。

データベース テーブル
------------------
接続パートナーのエンドポイントとツール
Partner_recognition パートナーの機能とゾーン
delegation_rules トークンベースの委任
メッセージ メッセージ プロトコル (hub/messages.py で使用)
comm_messages 代替メッセージ テーブル (積極的には使用されていません)

PARTNER-WORKSPACES
------------------
各パートナーには、`system/partners/` の下に標準化されたフォルダー構造があります。
  - 受信箱/受信データ/リクエスト。
  - 送信ボックス/結果/レポート。
  - workspace/ 一時ワークスペース。

デーモンとオートメーション
-------------------
デーモン ジョブ `msg-cleanup` は、読み取りメッセージを 30 日後にアーカイブします。
Gemini のようなパートナーは、`bach msg watch` を使用してクロードにリアルタイムで応答します。

ハンドラーとツール
---------------
hub/messages.py メッセージング システム CLI (542 行)
Hub/partner.py パートナー管理 (514 行)
tools/partner_communication/ パートナーとの対話のためのツール:
  - interaction_protocol.py インスタンスの通信
  - system_explorer.py ソフトウェアの検出
  - ai_compatibility.py AI 互換性レイヤー
  - communication.py 通信ユーティリティ

関連項目
----------
  bach partner --help    パートナー管理と委任
  bach msg --help        メッセージ システム コマンド
  docs/help/maintain.txt パートナーのヘルスチェック
