# Portability: SYSTEM
# Last validated: 2026-05-17
# Next review: 2027-05-17
# Ресурсы: [partner_recognition table, Partner_presence table,hub/partner.py,tools/mcp_server.py]

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

ДАТА: 08.02.2026

Партнерская система управляет сотрудничеством между различными ИИ
и людей на основе эффективности и возможностей токенов.

ЗАРЕГИСТРИРОВАННЫЕ ПАРТНЕРЫ (bach.db)
------------------------------
**Партнеры по искусственному интеллекту:**
- Клод, Близнецы, Оллама (активные)
- ЧатGPT, Второй пилот, Мистраль, Перплексити (активный)
- Антропно-локальный, индивидуальный агент (неактивный)

**Человек-партнер:**
- Человек (Пользователь/Администратор)

ОСНОВНЫЕ КОМПОНЕНТЫ
----------------
1. ЛОГИКА (partner_recognition): Кто что может сделать? (Ограничения, зона, уровень затрат)
2. ФИЗИКА (связи): Где конечные точки? (ключи API, URL-адреса)
3. ПРИСУТСТВИЕ (partner_presence): Кто в данный момент «присутствует»?
4. ПРОТОКОЛ (llm/msg): Как мы работаем вместе? (Блокировки, Сообщения)
5. КОННЕКТОРЫ (hub/connector.py): внешняя связь (Telegram, Discord)

КОМАНДЫ CLI (--partner)
-----------------------
  bach partner list              Перечислить всех зарегистрированных партнеров
  bach partner status            Состояние сети (онлайн-статус, зоны токена)
  bach partner info <name>       Показать подробную информацию о конкретном партнере
  bach partner active            Список активных в данный момент партнеров
  bach partner delegate <task>   Назначить задачу наиболее эффективному партнеру

КОМАНДЫ КОННЕКТОРА (--connector)
-------------------------------
  bach connector list            Все соединители (Telegram, Discord и т. д.)
  bach connector status          Состояние всех активных коннекторов
  bach connector send <name> <recipient> <text>  Отправить сообщение через коннектор
  bach connector poll <name>     Получить сообщения из коннектора
  bach connector messages [name] Empfangene Nachrichten anzeigen

DELEGATE-FLAGS
--------------
Команда делегата поддерживает следующие параметры:
  --partner Delegate <задача> Автоматически маршрутизировать задачу
  --partner Delegate <задача> --to=NAME Делегировать конкретному партнеру
  --partner Delegate <задача> --zone=N Принудительно установить зону (1-4)
  --partner делегат <задача> --fallback-local
  --partner делегат <задача> --fal автономный резервный режим Ollama (краткая форма)

КООРДИНАЦИЯ MULTI-LLM (новая версия 1.1.73+)
-------------------------------------
Во избежание конфликтов при параллельной работе применяются следующие правила:
- БЛОКИРОВКА: `bach llm lock <file>` не позволяет двум ИИ изменять один и тот же файл.
- СООБЩЕНИЯ: `bach msg send <target> "text"` для прямого голосования.

СИСТЕМА ЗОН (Token Awareness)
------------------------------
Маршрутизация выполняется автоматически на основе бюджета токена (уровень 5):
- Зона 1 (бюджет <30%): Клод (лучшее качество)
- Зона 2 (30-60%): Близнецы/Клод (Смешанная)
- Зона 3 (60-80%): Оллама (местный/бесплатный)
- Зона 4 (80-100%): Человек (аварийная ситуация/завершение)

ОБЪЕКТЫ БАЗЫ ДАННЫХ
-----------------
- Partner_recognition: основные данные (10 партнеров: Клод, Близнецы, Оллама и т. д.)
- Partner_presence: текущие сеансы и карта штампов (более 40 журналов)
- соединения: Технические профили (8+ соединений)
- Interaction_protocols: Протокол сотрудничества (более 10 записей)
- Connector_messages: Сообщения от/к внешним системам (Telegram, Discord)

ПРИМЕР WF (GEMINI)
--------------------
  1. Проверьте: `bach msg ping --from Gemini`
  2. Работаем: `bach llm lock Research.md` -> Редактировать -> `разблокировать`.
  3. Готово: `Идентификатор выполнения задачи bach`

ИНТЕГРАЦИЯ С СЕРВЕРОМ MCP (v2.2)
------------------------------
Сервер BACH MCP предоставляет партнерские функции для кода Claude:

**Инструменты:**
- Partner_list — список всех партнеров
- Partner_status - показывать статус и зоны токенов

**Использовать в Claude Code:**
``` питон
# Инструмент MCP становится доступен автоматически, когда сервер работает.
результат = mcp.call_tool("partner_list")
```

РАБОЧЕЕ ПРОСТРАНСТВО ПАРТНЕРА
-----------------
ТЕКУЩАЯ (от 01.02.2026): system/partners/
- Клод/Входящие, Клод/Исходящие
- gemini/inbox, gemini/outbox
- ollama/входящие, ollama/исходящие

УСТАРЕЛО (до 01 февраля 2026 г.): system/partners/
- Только Gemini/Исходящие/со старыми отчетами (06.02.2026)
- Новые отчеты отправляются партнерам/gemini/исходящие/

СМОТРИ ТАКЖЕ
----------
  bach connector --help     Система коннекторов (Telegram, Discord)
  bach llm --help           Протокол Multi-LLM (блокировки)
  bach msg --help           Система обмена сообщениями
  bach tokens --help        Мониторинг токенов и квоты
  docs/help/maintain.txt Проверка целостности сети

ВЕРСИЯ: v1.2.0 (08.02.2026)
Источник: хаб/partner.py, инструменты/mcp_server.py, партнеры/
