# Portabilität: SYSTEM
# Zuletzt validiert: 2026-02-08 (Help-Forensik Fix)
# Nächste Prüfung: 2026-08-08
# Ressourcen: [partner_recognition table, partner_presence table, hub/partner.py, tools/mcp_server.py]

BACH PARTNER-SYSTEM (Federated Intelligence)
=============================================

STAND: 2026-02-08

Das Partner-System verwaltet die Zusammenarbeit zwischen verschiedenen KIs
und dem Menschen auf Basis von Token-Effizienz und Capabilities.

REGISTRIERTE PARTNER (bach.db)
------------------------------
**AI-Partner:**
- Claude, Gemini, Ollama (aktiv)
- ChatGPT, Copilot, Mistral, Perplexity (aktiv)
- Anthropic-Local, Custom-Agent (inaktiv)

**Human-Partner:**
- Human (User/Admin)

KERN-KOMPONENTEN
----------------
1. LOGIK (partner_recognition): Wer kann was? (Caps, Zone, Cost-Tier)
2. PHYSIK (connections): Wo sind die Endpoints? (API-Keys, URLs)
3. PRÄSENZ (partner_presence): Wer ist gerade "eingestempelt"?
4. PROTOKOLL (llm / msg): Wie arbeiten wir zusammen? (Locks, Messages)
5. CONNECTORS (hub/connector.py): Externe Kommunikation (Telegram, Discord)

CLI-BEFEHLE (--partner)
-----------------------
  bach partner list              Alle registrierten Partner auflisten
  bach partner status            Zustand des Netzwerks (Online-Status, Token-Zonen)
  bach partner info <name>       Details zu spezifischem Partner anzeigen
  bach partner active            Liste der aktuell aktiven Partner
  bach partner delegate <task>   Aufgabe an effizientesten Partner übertragen

CONNECTOR-BEFEHLE (--connector)
-------------------------------
  bach connector list            Alle Connectors (Telegram, Discord, etc.)
  bach connector status          Status aller aktiven Connectors
  bach connector send <name> <recipient> <text>  Nachricht über Connector senden
  bach connector poll <name>     Nachrichten von Connector abrufen
  bach connector messages [name] Empfangene Nachrichten anzeigen

DELEGATE-FLAGS
--------------
Der delegate-Befehl unterstützt folgende Optionen:
  --partner delegate <task>              Aufgabe automatisch routen
  --partner delegate <task> --to=NAME    An spezifischen Partner delegieren
  --partner delegate <task> --zone=N     Zone erzwingen (1-4)
  --partner delegate <task> --fallback-local
  --partner delegate <task> --fal        Offline-Fallback auf Ollama (Kurzform)

MULTI-LLM KOORDINATION (Neu v1.1.73+)
-------------------------------------
Um Konflikte in der Parallel-Arbeit zu vermeiden, gelten folgende Regeln:
- LOCKING: `bach llm lock <file>` verhindert, dass zwei KIs dieselbe Datei ändern.
- MESSAGING: `bach msg send <target> "text"` zur direkten Abstimmung.

ZONEN-SYSTEM (Token-Awareness)
------------------------------
Das Routing erfolgt automatisch basierend auf dem Token-Budget (Schicht 5):
- Zone 1 (<30% Budget): Claude (Best Quality)
- Zone 2 (30-60%): Gemini / Claude (Mixed)
- Zone 3 (60-80%): Ollama (Lokal/Kostenlos)
- Zone 4 (80-100%): Human (Notfall/Abschluss)

DATENBANK-OBJEKTE
-----------------
- partner_recognition:   Stammdaten (10 Partner: Claude, Gemini, Ollama, etc.)
- partner_presence:      Aktuelle Sessions & Stempelkarte (40+ Logs)
- connections:           Technische Profile (8+ Verbindungen)
- interaction_protocols: Protokoll der Zusammenarbeit (10+ Einträge)
- connector_messages:    Nachrichten von/zu externen Systemen (Telegram, Discord)

WF-BEISPIEL (GEMINI)
--------------------
  1. Check: `bach msg ping --from gemini`
  2. Work: `bach llm lock research.md` -> Edit -> `unlock`.
  3. Done: `bach task done ID`

MCP SERVER INTEGRATION (v2.2)
------------------------------
Der BACH MCP Server stellt Partner-Funktionen für Claude Code bereit:

**Tools:**
- partner_list    - Alle Partner auflisten
- partner_status  - Status und Token-Zonen anzeigen

**Verwendung in Claude Code:**
```python
# MCP Tool wird automatisch verfügbar wenn Server läuft
result = mcp.call_tool("partner_list")
```

PARTNER-WORKSPACE
-----------------
AKTUELL (ab 2026-02-01): system/partners/
- claude/inbox, claude/outbox
- gemini/inbox, gemini/outbox
- ollama/inbox, ollama/outbox

VERALTET (vor 2026-02-01): system/partners/
- Nur noch gemini/outbox/ mit alten Reports (2026-02-06)
- Neue Reports gehen nach partners/gemini/outbox/

SIEHE AUCH
----------
  bach connector --help     Connector-System (Telegram, Discord)
  bach llm --help           Multi-LLM Protokoll (Locks)
  bach msg --help           Messaging System
  bach tokens --help        Token-Monitor & Quotas
  docs/help/maintain.txt         Integritäts-Check des Netzwerks

VERSION: v1.2.0 (2026-02-08)
Quelle: hub/partner.py, tools/mcp_server.py, partners/
