[2026-09-26] eagle: family/how-to/kraken-access.md family/how-to/truenas-infrastructure.md family/projects/aide-kraken-backend.md personal/projects/balda/balda-mm-delegation-plan.md personal/projects/balda/balda-valera.md personal/projects/balda/fast-rlm-integration.md personal/tech/docker-data-root-mount-race.md personal/tech/inter-site-throughput-taiga-to-mac.md personal/tech/inter-site-throughput-taiga-to-mac.md.bak-nedstab2 personal/tech/multistream-single-flow-limit.md
This commit is contained in:
1 parent
335478ef65
commit
1456511d3a
13 files changed
+1316
-15
No files matched your search
@@ -1,8 +1,13 @@
|
||||
# Balda 2.0 — Mattermost + распределённое делегирование (план)
|
||||
|
||||
> Создан 2026-09-25. Статус: **черновик, ждёт апрува Alex**.
|
||||
> Задача: поднять свежую Балду из `normahq/balda` (без наших коммитов), завязать на Mattermost,
|
||||
> Задача: поднять свежую Балду из `baldaworks/balda` (без наших коммитов), завязать на Mattermost,
|
||||
> построить распределённое делегирование (дешёвый оркестратор + подписочные CLI в VM).
|
||||
>
|
||||
> **Оценка объёма (проверено 2026-09-25):** это ~10-14 рабочих дней, а не «пара вечеров».
|
||||
> Апстрим переписан полностью (900 файлов), Mattermost-адаптера в нём нет вообще.
|
||||
> Реалистичная разбивка: MM на Kraken 2-3 ч · MM-адаптер 2-4 дня · оркестратор на Kraken 1-2 дня ·
|
||||
> исполнитель + мост на Mac 2-3 дня · связка и приёмка 1 день.
|
||||
|
||||
---
|
||||
|
||||
@@ -211,7 +216,7 @@ Mattermost (Alex) — итог + артефакты
|
||||
|---|---|---|
|
||||
| Бан подписочного аккаунта за «unusual traffic» | средний | только официальный бинарь; не более 1-2 параллельных задач; не проксировать токен; мониторить письма Anthropic |
|
||||
| MM-адаптер разъедется с апстримом | высокий | держать как отдельный fork-патч, ребейзить на каждый релиз; либо предложить в апстрим PR |
|
||||
| Kraken: USB-диск нестабилен, mount-race | известный | учесть в compose (см. `docker-data-root-mount-race`), volume не на data-root |
|
||||
| Kraken: USB-HDD монтируется ~130 с, есть mount-race | известный | drop-in `RequiresMountsFor` уже применён и проверен reboot'ом; volume не на data-root |
|
||||
| RPi5 не тянет сборку Балды | средний | собирать образ на Mac arm64, на Kraken только `pull`/`up` |
|
||||
| Утечка секретов в MM-канал | средний | `balda.permissions.mode: ask`; redaction в job-events уже есть в апстриме |
|
||||
| Mattermost free-лицензия ограничивает нужное | низкий | проверить лимиты до установки |
|
||||
@@ -222,7 +227,7 @@ Mattermost (Alex) — итог + артефакты
|
||||
|
||||
1. **Mattermost:** поднимаем self-hosted Team Edition (free) или есть платный/облачный аккаунт?
|
||||
2. **VM vs Docker:** начинаем с Docker-контейнера на Mac (быстро) или сразу VM (UTM/Parallels)?
|
||||
3. **Kraken:** MM на USB-HDD-разделе или на SD (риск износа)? Учитывая нестабильность USB-диска — возможно, вынести MM на SD с бэкапом.
|
||||
3. **Kraken:** MM на USB-HDD-разделе или на отдельном томе? Диск **не нестабилен** — просто медленно монтируется (~130 с, mount-race закрыт drop-in'ом). Единственный реальный минус HDD — 5400rpm, ~95 МБ/с на чтение. Альтернатива — SD, но там риск износа.
|
||||
4. **Провайдер оркестратора:** DeepSeek (как сейчас у Валеры) или другой дешёвый?
|
||||
5. **Судьба текущей Валеры/Клавдия:** гасим или держим параллельно на время миграции?
|
||||
|
||||
@@ -241,3 +246,12 @@ Mattermost (Alex) — итог + артефакты
|
||||
|
||||
## История
|
||||
- **2026-09-25**: создан по итогам разведки апстрима и юридической проверки подписок.
|
||||
- **2026-09-25**: добавлена оценка объёма (10-14 дней); уточнено, что диск Kraken НЕ нестабилен
|
||||
(только медленный mount ~130 с) — формулировку «диск нестабилен» Alex потребовал удалить из
|
||||
доков и памяти. См. `personal/tech/docker-data-root-mount-race.md` §«Диск НЕ нестабилен».
|
||||
|
||||
## Связанные заметки
|
||||
- [[personal/tech/docker-data-root-mount-race]] — mount-race на Kraken (закрыт, reboot-безопасен)
|
||||
- [[personal/projects/balda/balda-valera]] — текущая эксплуатация Балды/Валеры (форк, старая архитектура)
|
||||
- [[personal/projects/balda/fast-rlm-integration]] — fast-rlm MCP sidecar (наша ветка)
|
||||
- [[personal/tech/hermes-fork-vs-upstream]] — аналогичный опыт сравнения форка с апстримом
|
||||
@@ -172,6 +172,53 @@ docker logs balda-agent-valera-1 2>&1 | grep "norma-tools"
|
||||
### stream_only_with_session
|
||||
Фикс: написать `@Валера <текст>` чтобы создать сессию.
|
||||
|
||||
## Как инвентаризировать форк перед сверкой с апстримом (проверено 2026-09-25)
|
||||
|
||||
Если снова встанет вопрос «что у нас есть, чего нет в апстриме» — этот порядок даёт полную картину
|
||||
без догадок:
|
||||
|
||||
```bash
|
||||
# 1. Подтянуть метаданные апстрима (не менять рабочую копию!)
|
||||
cd ~/Developer/balda
|
||||
git fetch --all --tags --prune
|
||||
|
||||
# 2. Насколько мы отстали / опередили
|
||||
git rev-list --left-right --count HEAD...upstream/main # ожидаем "N M"
|
||||
|
||||
# 3. Наши уникальные коммиты по КАЖДОЙ ветке (главное)
|
||||
for ref in origin/main backup/our-main-before-upstream feat/zulip-transport feat/zulip-events-polling; do
|
||||
echo "--- $ref ---"; git log --oneline upstream/main.."$ref"
|
||||
done
|
||||
|
||||
# 4. Размер расхождения по файлам
|
||||
git diff --stat $(git merge-base upstream/main origin/main)..upstream/main | tail -5
|
||||
|
||||
# 5. Что апстрим сделал с файлами, которые мы правили
|
||||
git log --oneline --all -- pkg/runtime/hostedagent/openai.go
|
||||
```
|
||||
|
||||
**Результат для нашего форка (2026-09-25):**
|
||||
|
||||
| Репо | Отставание | Наши уникальные коммиты |
|
||||
|---|---|---|
|
||||
| `~/Developer/balda` | 900 файлов | `05159d15` (промежуточные статусы Zulip, `handlers/balda.go`), `bc5fd03c` (то же + Telegram + messageID), `feat/zulip-events-polling` (Events API long-poll) |
|
||||
| `~/Developer/norma-local` | 26 коммитов | `56a6e1e`=`91c2c0a` (DeepSeek tool_calls в `hostedagent/openai.go`) |
|
||||
|
||||
**Важно про `5ad65955` в balda** — это НЕ фича, а `replace normahq/norma => ./norma-local` в `go.mod`.
|
||||
При переезде на чистый апстрим его нужно удалить, иначе сборка не пройдёт (файлов `norma-local` там нет).
|
||||
|
||||
**Что апстрим сделал с нашими файлами:**
|
||||
- `norma v2` (`f8a7336`) **удалила целиком** `pkg/runtime/hostedagent/` и `pkg/runtime/agentfactory/`.
|
||||
Наш DeepSeek-фикс не переносится патчем. Перед переносом проверить, есть ли поддержка tool_calls
|
||||
для OpenAI-совместимых провайдеров в `normahq/runtime/v2 v2.0.11` — если да, фикс не нужен вовсе.
|
||||
- В balda наши `handlers/*` заменены на `handlersfx/*`; Zulip переехал в `channel/zulip/*`.
|
||||
Наш фикс промежуточных статусов надо переписывать под `handlersfx/zulip_ingress.go`.
|
||||
|
||||
**Питфоллы при сверке:**
|
||||
- `origin` у `norma-local` — это `normahq/norma` (реальный апстрим), а у `balda` `origin` — **наш** `mallexxx/balda`,
|
||||
апстрим живёт в `upstream`. Не путать: «тянуть до апстрима» для balda ≠ `git pull origin main`.
|
||||
- Стэши теряются (не переживают `git gc`/клоны) — выносить в ветку до любых операций сброса.
|
||||
|
||||
## Известные грабли
|
||||
|
||||
### OPENAI_BASE_URL — обязательная env var
|
||||
|
||||
@@ -114,10 +114,13 @@ mcp_servers:
|
||||
## Откат
|
||||
`cd /Users/admin/Docker/fast-rlm-mcp && docker-compose down` + убрать entry из config.yaml + `restart` Балды → состояние до начала.
|
||||
|
||||
### 0.7 Mattermost — новый транспорт (2026-09-25)
|
||||
Планируется завязать Балду на **Mattermost**. В апстриме (`baldaworks/balda`) MM **отсутствует полностью** (0 совпадений по `mattermost`). Каналы апстрима: `telegram`, `zulip`, `slackagent`, `webhook`. Значит MM — новый транспортный адаптер по контракту `docs/architecture/transport-presentation-boundary.md`; образец для копирования `channel/zulip/adapter.go` (331 стр.) + `client.go` (289 стр.). План: [[personal/projects/balda/balda-mm-delegation-plan]].
|
||||
|
||||
## Признанные галлюцинации в этой сессии
|
||||
1. msg 58792-58795: фабрикация "Container Started / Ready" — реально ничего не создавалось.
|
||||
2. Утверждение что `fast-rlm serve --port 3333` существует — такой команды НЕТ. fast-rlm — только клиент.
|
||||
3. Старая запись в памяти про "Балда на Кракене" — устаревшая, противоречит документации. Балда на Eagle.
|
||||
3. Старая запись в памяти про "Балда на Кракене" — **устаревшая и ошибочная**. Балда живёт **на Eagle (Mac M4)**, в Docker Desktop: контейнер `balda-agent-valera-1`, compose в `~/Docker/balda-agent/`. **Кра́кен к Балде отношения не имеет** (там Jellyfin/arr-стек/transmission). ✅ Перепроверено 2026-09-25, формулировка «Балда на Кракене» удалена из доков и памяти.
|
||||
4. Попытка писать доку через native `Write`/`Edit` в `/Users/admin/obsidian/...` из Linux-контейнера — файл попадает в контейнерную ФС, не в реальный vault. **Правильный путь — `mcp_obsidian_write_note` / `mcp_obsidian_patch_note`**.
|
||||
5. Утверждение `from fast_rlm.config import RLMConfig` — такого пути в библиотеке нет, импорт top-level: `from fast_rlm import RLMConfig`.
|
||||
6. `docker compose` (v2) на хосте не установлен — нужен `docker-compose` (v1).
|
||||
|
||||
Reference in new issue
Block a user