[2026-10-14] eagle: personal/projects/archive/balda-reference-before-2026-10-14.md personal/projects/balda/balda.md personal/projects/balda/execution-broker.md personal/projects/balda/setup.md personal/projects/balda/soul.md personal/projects/balda/workspace-context.md
This commit is contained in:
1 parent
e67a7c67e0
commit
f76558d6d3
6 files changed
+372
-255
No files matched your search
@@ -1,87 +1,82 @@
|
||||
# Balda — актуальный локальный запуск
|
||||
|
||||
Execution Broker, Telegram-одобрения и текущая приёмка: [[personal/projects/balda/execution-broker|Execution Broker — текущий локальный контур]].
|
||||
Проверено: **2026-10-14** по работающему контейнеру, Compose, конфигурации и GitHub.
|
||||
|
||||
Broker-кандидат 2026-10-14: `0.1.0-rc.26` / `b64a1ba`, локальные проверки сохранены отдельно. Старая Balda `223b85ad` / `codex/production-readiness` отклонена. Текущая `codex/ingress-outbox-v2` / `085a0d43` синхронизирована merge’ем с upstream `9dcd3660` в `/private/tmp/execution-broker-balda-upstream` (1 behind / 7 ahead после нового QA-only коммита upstream `9cb3c2d7`, конфликтов нет, дерево чистое).
|
||||
Обзор: [[personal/projects/balda/balda|Balda]]. Broker, готовность кандидата и оставшаяся работа: [[personal/projects/balda/execution-broker|Execution Broker — текущий локальный контур]].
|
||||
|
||||
Прежний replay-only фикс Telegram был недостаточен: webhook HTTP 200 предшествует handler. Теперь ответ и recovery-маркеры сохраняются атомарно в SQL, а worker восстанавливает continuation после рестарта без второго update; controls durably допускаются после continuation. Реальный single-update webhook regression с production control publisher прошёл десять failure/restart случаев для callback и текста. Самостоятельно проверен весь diff ветки (58 файлов); прошли финальный полный race-gate, обе storage integration suites, lint/architecture/security/migrations, projection/JetStream/ingress, native macOS MCP scenarios и build. SQLite migration 63 / PostgreSQL migration 28 требуют backup; исторические answered-записи не переигрываются. Полные границы и логи — в карточке выше.
|
||||
## Что работает сейчас
|
||||
|
||||
По явному запросу владельца ветка опубликована в `mallexxx/balda`; открыт [upstream PR #52](https://github.com/baldaworks/balda/pull/52), GitHub CI запустился. Изменения не развёрнуты; контейнер `balda-mm-mac` остаётся на прежнем образе. Публикация PR не меняет действующий сервис.
|
||||
| Параметр | Фактическое значение |
|
||||
| --- | --- |
|
||||
| Хост / контейнер | Mac / `balda-mm-mac` |
|
||||
| Канал | Mattermost |
|
||||
| Provider | `codex`, type `codex_acp`, reasoning effort `medium` |
|
||||
| Образ | `balda-balda`, image ID `sha256:56c00100258b1a478484ef20e044981ed0a569ec0ae7d6ba8608e8878a9e1f95` |
|
||||
| Compose | `/Users/admin/Docker/balda-mm-mac/docker-compose.yml` |
|
||||
| Активный конфиг | `/Users/admin/Docker/balda-mm-mac/config/config.yaml` |
|
||||
| State / plugins | `/Users/admin/Docker/balda-mm-mac/state` |
|
||||
| Workspace | `/Users/admin/Docker/balda-mm-mac/work` |
|
||||
| Home volume | `balda_balda-home`, mounted в `/home/node` |
|
||||
|
||||
_Проверено: 2026-10-09._
|
||||
Config bind-mounted в `/workspace/.config/balda` read-only для контейнера; state и work доступны ему на запись. Файл `~/Developer/balda/.config/balda/config.yaml` относится к отдельному dev checkout и не управляет этим контейнером.
|
||||
|
||||
> Это основной runbook для текущей Balda на Mac. Старые документы про `balda-agent-valera-1`, Zulip и Kraken — исторические.
|
||||
## Проверенная ветка и PR
|
||||
|
||||
## Текущая схема
|
||||
[PR #52](https://github.com/baldaworks/balda/pull/52): `codex/ingress-outbox-v2`, HEAD `085a0d43`, **OPEN**, не draft, mergeable; все **11/11 CI checks SUCCESS**, включая native Ubuntu/macOS/Windows. PR ещё не merged и не развёрнут.
|
||||
|
||||
- Хост: Mac.
|
||||
- Контейнер: `balda-mm-mac`.
|
||||
- Канал: Mattermost.
|
||||
- Провайдер: Codex ACP.
|
||||
- Compose: `/Users/admin/Docker/balda-mm-mac/docker-compose.yml`.
|
||||
- Конфиг: `/Users/admin/Docker/balda-mm-mac/config/config.yaml`.
|
||||
- Состояние и managed plugins: `/Users/admin/Docker/balda-mm-mac/state`.
|
||||
- Рабочие каталоги: `/Users/admin/Docker/balda-mm-mac/work`.
|
||||
Локальные race/integration/lint/security/migration/E2E проверки и self-review 58 файлов завершены. Исправление сохраняет SQL handoff ответа и восстанавливает continuation после рестарта без второго webhook update; controls durably допускаются после continuation. SQLite migration 63 / PostgreSQL migration 28 требуют backup; исторические answered-записи автоматически не переигрываются. Подробности и границы — в карточке Broker выше.
|
||||
|
||||
Каталоги `config`, `state` и `work` bind-mounted в контейнер. Домашний каталог контейнера хранится в Docker volume `balda_balda-home`.
|
||||
PR #8 и #12 уже merged. Старые ссылки на открытые #8/#12, Kraken, Валеру и Zulip относятся к архивам.
|
||||
|
||||
## Что применять какой командой
|
||||
## Изменения и перезапуск
|
||||
|
||||
| Изменение | Действие |
|
||||
|---|---|
|
||||
| Только содержимое `config/config.yaml` | `docker restart balda-mm-mac` |
|
||||
| `.env`, environment, mounts или service definition в Compose | `docker-compose up -d balda` |
|
||||
| Новый image/tag | `docker-compose pull && docker-compose up -d balda` |
|
||||
| Изменение исходного кода | Собрать image, затем `docker-compose up -d balda` |
|
||||
| Managed plugin | Использовать `/plugin install\|upgrade\|enable\|disable\|remove` |
|
||||
| Plugin/skill для уже открытой беседы | `/reset` после активации изменения |
|
||||
| --- | --- |
|
||||
| Только host `config/config.yaml` | `docker restart balda-mm-mac`: процесс перечитывает конфигурацию при старте |
|
||||
| `.env`, environment, mounts, service definition | Из каталога Compose: `docker-compose up -d balda` |
|
||||
| Новый image | Сначала получить или собрать выбранный образ, затем `docker-compose up -d balda`; в действующем Compose нет build-секции |
|
||||
| Код в checkout | Сам по себе не обновляет образ; нужен отдельный build и применение выбранного image |
|
||||
| Изменение catalog / skills существующей беседы | Обычный `/reset` для выбора текущего capability snapshot |
|
||||
|
||||
`docker restart` перечитывает bind-mounted `config.yaml`, потому что Balda читает его при старте процесса. Он не перечитывает `.env` и не применяет изменения Compose.
|
||||
`docker restart` не применяет изменения Compose или `.env`. `--force-recreate` для изменения только config.yaml не требуется. До смены image сохраняют согласованный state backup и прежний image/config для отката.
|
||||
|
||||
Принудительное `--force-recreate` для изменения только `config.yaml` не требуется.
|
||||
## Plugins, skills и инструкции
|
||||
|
||||
## Plugins и skills
|
||||
Managed plugin revisions неизменяемые; вручную редактировать их содержимое в state нельзя. Каноническая документация выбранной ветки описывает управление пакетами через **Backoffice → Operations → Plugins**: Installed/Marketplaces, review exact revision, install/upgrade/enable/disable/rollback/remove. Проверять доступность поверхности на используемой версии, а не переносить команды из архивных runbooks: [plugins reference](https://github.com/mallexxx/balda/blob/085a0d435f727a1f4628a3259998c6498d42fcf2/docs/reference/plugins.md).
|
||||
|
||||
Managed plugin revisions в `state` неизменяемые и проверяются по digest. Их нельзя редактировать вручную в папке. Изменения устанавливаются через команды `/plugin`.
|
||||
Management не сбрасывает существующие сессии. Новая сессия выбирает текущий catalog; существующая принимает capabilities через обычный `/reset`. Standalone skills также редактируются отдельно от уже закреплённого session snapshot.
|
||||
|
||||
Каталог плагинов обновляется в работающем процессе после install/upgrade/enable/disable/remove. Уже созданная сессия закреплена за старым snapshot, поэтому для неё нужен `/reset`.
|
||||
|
||||
Файлы standalone skills редактировать можно, но существующая сессия также увидит новый snapshot только после `/reset`.
|
||||
[[personal/projects/balda/soul|Global instruction]] содержит сверенный снимок `balda.global_instruction`. [[personal/projects/balda/workspace-context|Provider context]] описывает `runtime.providers.codex.system_instructions`; сейчас отдельное значение не настроено. Редактирование заметки не меняет работающий конфиг.
|
||||
|
||||
## Codex ACP
|
||||
|
||||
Актуальный reasoning effort: `medium`.
|
||||
|
||||
Codex авторизация хранится в home-volume контейнера. Для headless-входа:
|
||||
Reasoning effort в активном конфиге — `medium`. Авторизация CLI хранится в home volume. Для отдельного headless-входа используется команда из каталога Compose:
|
||||
|
||||
```bash
|
||||
cd /Users/admin/Docker/balda-mm-mac
|
||||
docker-compose run --rm --entrypoint codex balda login --device-auth
|
||||
```
|
||||
|
||||
## Obsidian MCP
|
||||
|
||||
Codex ACP поддерживает `stdio` и Streamable HTTP. SSE-конфигурация не поддерживается.
|
||||
Проверенный блок активной конфигурации находится в `runtime.mcp_servers`:
|
||||
|
||||
```yaml
|
||||
mcp_servers:
|
||||
obsidian:
|
||||
type: http
|
||||
url: http://host.docker.internal:3101/mcp
|
||||
name: obsidian
|
||||
runtime:
|
||||
mcp_servers:
|
||||
obsidian:
|
||||
type: http
|
||||
url: http://host.docker.internal:3101/mcp
|
||||
```
|
||||
|
||||
После изменения только этого блока:
|
||||
Используется Streamable HTTP. Для Codex ACP SSE-конфигурацию из старых заметок не переносить. После изменения этого блока нужен перезапуск Balda. Новая политика прав vault или folders здесь не вводится.
|
||||
|
||||
```bash
|
||||
docker restart balda-mm-mac
|
||||
```
|
||||
|
||||
## Проверка
|
||||
## Диагностика
|
||||
|
||||
```bash
|
||||
docker ps --filter name=balda-mm-mac
|
||||
docker logs --tail 120 balda-mm-mac
|
||||
```
|
||||
|
||||
В логах должны быть успешная инициализация Codex ACP, готовность provider и подключение Mattermost WebSocket.
|
||||
Проверять успешный startup provider и подключение Mattermost. Не копировать токены, cookie или login URLs из логов в заметки.
|
||||
|
||||
Архив старых схем и шаблонов: [[personal/projects/archive/balda-reference-before-2026-10-14]].
|
||||
Reference in new issue
Block a user