# Portabilität: SYSTEM
# Zuletzt validiert: 2026-02-08
# Nächste Prüfung: 2026-05-08
# Ressourcen: [messages table, hub/messages.py, hub/partner.py]

COMMUNICATE - Partner-Kommunikationssystem
==========================================

STAND: 2026-02-08

Das Kommunikationssystem (Schicht 4) verwaltet den Informationsaustausch
zwischen allen Instanzen (Mensch & KIs).

KERNKONZEPTE
------------
1. MESSAGING: Persistentes Nachrichten-Routing in der DB.
2. PROTOKOLLE: Standardisierte Abläufe (Handshake, Request, Transfer).
3. WORKSPACES: Physische Verzeichnisse für Dateiaustausch (system/partners/).
4. PRESENCE: Aktiver Online-Status und Watch-Mechanismen.

REGISTRIERTE PARTNER (10)
-------------------------
Internal System:
  user      User (Nutzer)          [✓ Active]
  claude    Claude (Opus 4.6)      [✓ Active]
  bach      BACH Core System       [✓ Active]

Local AI:
  ollama    Mistral 7B             [✓ Active]
  llama     Llama 3 8B             [✓ Active]

External AI:
  gemini    Google Gemini          [✓ Active]
  gpt       OpenAI GPT             [○ Inactive]

APIs:
  pubmed    PubMed MCP             [✓ Active]

Services:
  drive     Google Drive           [✓ Active]

Tools:
  canva     Canva MCP              [✓ Active]

PARTNER-ERKENNUNG
-----------------
Keywords loesen automatisch Partner-Auswahl aus:

  ollama:       bulk, embedding, token-free, draft email
  pubmed:       gene, protein, disease, clinical, biomedical
  google_drive: google drive, find document, search drive
  canva:        design, presentation, poster, infographic
  gemini:       deep research, long document, concept analysis

ROUTING-KANAELE
---------------
| Partner | Kanaele | Status |
|---------|---------|--------|
| ollama | Direct API, Queue | ✓ |
| user | MessageBox | ✓ |
| pubmed | MCP Server | ✓ |
| canva | MCP Server | ✓ |
| google_drive | API | ✓ |
| gemini | partners/gemini/ | ✓ |

HEALTH-CHECKS
-------------
Ollama:       curl http://127.0.0.1:11434/api/tags
Google Drive: API Token-Check
PubMed:       MCP Connection Test
Canva:        MCP Connection Test

TOKEN-ZONEN (Delegation)
------------------------
Zone 1 (0-30%):   Alle Partner verfügbar
Zone 2 (30-60%):  Guenstige Partner (Ollama bevorzugt)
Zone 3 (60-80%):  Nur lokale Partner
Zone 4 (80-100%): Nur Notfall (Human + Ollama)

CLI-BEFEHLE (bach msg)
----------------------
  list [--inbox/--outbox] [--limit N]  Alle Nachrichten anzeigen.
  unread                               Nur ungelesene Nachrichten.
  send <NAME> <TEXT> [--from SENDER]   Nachricht senden.
  read <ID> [--ack]                    Nachricht lesen und optional bestätigen.
  ping [--from NAME]                   Ungelesene AN Partner anzeigen.
  watch [--from NAME]                  Live-Polling (alle 10s prüfen).
  count                                Nachrichtenzähler anzeigen.
  delete <ID> [ID2...]                 Nachricht(en) löschen.
  archive <ID> [ID2...]                Nachricht(en) archivieren.

NACHRICHTEN-TYPEN
-----------------
- TASK: Aufträge an Partner (via `_TASKS.md` + `msg send`).
- INFO: Status-Updates und Reports (`outbox/`).
- ALERT: Fehler-Meldungen und Eskalationen (Problem-Monitor).

INTERAKTIONSPROTOKOLLE
----------------------
1. HANDSHAKE: Gegenseitige Erkennung und Funktions-Check (Health).
2. REQUEST: Formelle Anfrage für Daten oder Dienstleistung.
3. TRANSFER: Physische Übertragung via Workspace oder DB.
4. CONFIRM: Bestätigung des Empfangs und der Verarbeitung (Receipt).

DATENBANK-TABELLEN
------------------
connections         Partner-Endpoints und Tools
partner_recognition Partner-Capabilities und Zonen
delegation_rules    Token-basierte Delegation
messages            Nachrichtenprotokoll (genutzt von hub/messages.py)
comm_messages       Alternative Nachrichten-Tabelle (nicht aktiv genutzt)

PARTNER-WORKSPACES
------------------
Jeder Partner hat eine genormte Ordnerstruktur unter `system/partners/`:
  - inbox/      Eingehende Daten/Anfragen.
  - outbox/     Ergebnisse/Berichte.
  - workspace/  Temporärer Arbeitsbereich.

DAEMON & AUTOMATION
-------------------
Der Daemon-Job `msg-cleanup` archiviert gelesene Nachrichten nach 30 Tagen.
Partner wie Gemini nutzen `bach msg watch`, um in Echtzeit auf Claude zu reagieren.

HANDLER & TOOLS
---------------
hub/messages.py              Nachrichtensystem-CLI (542 Zeilen)
hub/partner.py               Partner-Verwaltung (514 Zeilen)
tools/partner_communication/ Tools für Partner-Interaktion:
  - interaction_protocol.py  Instanz-Kommunikation
  - system_explorer.py       Software-Erkennung
  - ai_compatible.py         AI-Kompatibilitätsschicht
  - communication.py         Kommunikations-Utilities

SIEHE AUCH
----------
  bach partner --help    Partner-Verwaltung und Delegation
  bach msg --help        Nachrichtensystem-Befehle
  docs/help/maintain.txt      Partner-Health Checks
