[2026-10-14] eagle: personal/projects/balda/balda.md personal/projects/balda/execution-broker.md personal/projects/balda/setup.md personal/projects/personal-os/personal-os-status-2026-10.md
This commit is contained in:
1 parent
f0bcbce2ed
commit
e8e9edd434
4 files changed
+15
-62
No files matched your search
@@ -9,24 +9,11 @@
|
||||
- [[personal/projects/balda/soul|Снимок global instruction]]
|
||||
- [[personal/projects/balda/workspace-context|Provider context]]
|
||||
|
||||
Эти карточки различают проверенный код, результаты CI и реально развёрнутый образ. Готовность Broker не следует из открытия PR Balda.
|
||||
В карточках указаны работающий образ, действующая конфигурация и границы готовности Broker.
|
||||
|
||||
## Репозитории и PR
|
||||
## Репозитории
|
||||
|
||||
| Репозиторий / изменение | Подтверждённый статус |
|
||||
| --- | --- |
|
||||
| [baldaworks/balda](https://github.com/baldaworks/balda) | Upstream бота; fork — [mallexxx/balda](https://github.com/mallexxx/balda) |
|
||||
| [PR #8 — Mattermost](https://github.com/baldaworks/balda/pull/8) | **MERGED**, 2026-09-29 |
|
||||
| [PR #12 — webhook routing](https://github.com/baldaworks/balda/pull/12) | **MERGED**, 2026-10-03 |
|
||||
| [PR #52 — durable ingress/question recovery](https://github.com/baldaworks/balda/pull/52) | **OPEN**, HEAD `085a0d43`; **11/11 CI SUCCESS**, **CHANGES_REQUESTED / merge BLOCKED**, ещё не merged |
|
||||
|
||||
Checkout кандидата PR #52: `/private/tmp/execution-broker-balda-upstream`, ветка `codex/ingress-outbox-v2`. Локальные проверки и self-review завершены. CI включает восемь required jobs и три native-launch jobs (Ubuntu/macOS/Windows). Зелёный CI не означает, что кандидат установлен: production image остаётся `balda-balda`, его точный ID указан в runbook.
|
||||
|
||||
PR #52 добавляет durable admission и автономное восстановление SQL-сохранённого ответа без повторного Telegram update, затем независимую очистку controls. Включены retention, opt-in NATS budgets и regression tests. Операционные ограничения и миграции SQLite 63 / PostgreSQL 28 описаны в карточке Broker.
|
||||
|
||||
## Открытое ревью PR #52
|
||||
|
||||
[Review metalagman](https://github.com/baldaworks/balda/pull/52#pullrequestreview-5519740284) нашёл блокирующее нарушение FIFO одной сессии между slash-command/chat/question actor targets. Ошибка подтверждена отдельным race probe на неизменённом HEAD: второй запрос публикуется, пока первый заблокирован. Существующие CI checks этого сценария не покрывали. Нужны исправление session scope и regression; reviewer также запросил доступную ссылку на acceptance в shared Beads. История локальной `balda-7w4` не заменяет такую запись.
|
||||
Upstream: [baldaworks/balda](https://github.com/baldaworks/balda). Fork: [mallexxx/balda](https://github.com/mallexxx/balda).
|
||||
|
||||
## Конфигурация и владение
|
||||
|
||||
@@ -34,7 +21,7 @@ PR #52 добавляет durable admission и автономное восста
|
||||
|
||||
Balda и локальные агенты владеют оркестрацией, MCP, search/Obsidian и прикладными workflows. Execution Broker владеет disposable worker, lifecycle, credentials, инструментами и артефактами; его незавершённые задачи перечислены отдельно.
|
||||
|
||||
Документация кода: [README](https://github.com/baldaworks/balda/blob/main/README.md), [configuration](https://github.com/baldaworks/balda/blob/main/docs/reference/configuration.md), [plugins](https://github.com/baldaworks/balda/blob/main/docs/reference/plugins.md). Для поведения ещё не merged PR смотреть его точный HEAD.
|
||||
Документация кода: [README](https://github.com/baldaworks/balda/blob/main/README.md), [configuration](https://github.com/baldaworks/balda/blob/main/docs/reference/configuration.md), [plugins](https://github.com/baldaworks/balda/blob/main/docs/reference/plugins.md).
|
||||
|
||||
## История
|
||||
|
||||
|
||||
@@ -1,16 +1,10 @@
|
||||
# Execution Broker — текущий локальный контур
|
||||
|
||||
Проверено: **2026-10-14**, включая GitHub, репозитории, конфигурацию и работающие контейнеры.
|
||||
Проверено: **2026-10-14** по репозиториям, конфигурации и работающим контейнерам.
|
||||
|
||||
## Текущий статус
|
||||
|
||||
**Broker ещё не полностью реализован и не прошёл production-приёмку нового кандидата.** Локальные проверки rc.26 завершены; работающий контур использует прежние образы. Открытый [PR #52](https://github.com/baldaworks/balda/pull/52) относится к **Balda**: все **11/11 GitHub checks SUCCESS**, PR открыт и не draft; конфликтов нет, но **CHANGES_REQUESTED / merge BLOCKED**, ещё не merged.
|
||||
|
||||
## Открытый блокер Balda PR #52
|
||||
|
||||
[Внешнее ревью metalagman](https://github.com/baldaworks/balda/pull/52#pullrequestreview-5519740284), 2026-10-14 14:41:30 UTC, запросило изменения. **FIFO в рамках одной сессии нарушается между разными actor targets:** после ошибки публикации `command:session-1` outbox всё равно публикует следующий `session:session-1`, потому что блокирует по `Envelope.To`, а не общему session scope. Поведение независимо воспроизведено на HEAD `085a0d43`: одноразовый race overlay probe получил `[first second]` вместо `[first]`. Исходники и ветка этим probe не менялись.
|
||||
|
||||
Нужно исправление session-scoped FIFO с fallback для команд без session и regression для смешанных targets. Reviewer также запросил ссылку на Story/plan/acceptance в shared Beads; локальная `balda-7w4` такой ссылкой не является. Оба пункта остаются открытыми. Зелёные существующие 11 CI checks не покрывали новый FIFO repro; кандидат Balda сейчас не принят к merge.
|
||||
**Broker ещё не полностью реализован и не прошёл production-приёмку нового кандидата.** Локальные проверки rc.26 завершены; работающий контур использует прежние образы.
|
||||
|
||||
## Репозитории и действующие образы
|
||||
|
||||
@@ -22,9 +16,8 @@
|
||||
| Gateway production | `execution-broker-gateway:quality-437cbf8` |
|
||||
| Prism production | `execution-prism-adapter:session-fix-20261004` |
|
||||
| Balda production | контейнер `balda-mm-mac`, образ `balda-balda`, image ID `sha256:56c00100258b1a478484ef20e044981ed0a569ec0ae7d6ba8608e8878a9e1f95` |
|
||||
| Balda PR candidate | `codex/ingress-outbox-v2`, HEAD `085a0d435f727a1f4628a3259998c6498d42fcf2`, checkout `/private/tmp/execution-broker-balda-upstream` |
|
||||
|
||||
Ветка Broker остаётся локальной. Ветка Balda опубликована в `mallexxx/balda`. Открытие PR не обновляло контейнеры.
|
||||
Кандидат Broker остаётся локальным; работающие контейнеры не обновлены.
|
||||
|
||||
## Что проверено у Broker rc.26
|
||||
|
||||
@@ -49,29 +42,12 @@
|
||||
|
||||
Источник объёма работ — `/Users/admin/Developer/execution-broker/docs/work-plan.md`. Настраиваемый remote-action API — отдельное будущее расширение. iPad, прикладные UI/PR workflows, search/Obsidian и общая политика прав локального агента принадлежат Balda или конкретному проекту. Новая политика доступа к Obsidian этим прогоном не вводилась.
|
||||
|
||||
## Balda: PR #52 и восстановление ingress
|
||||
|
||||
[PR #52](https://github.com/baldaworks/balda/pull/52) открыт из `085a0d43` в `baldaworks/balda:main`. Все восемь required checks прошли: lint, test, SQLite/PostgreSQL integrations, architecture lint, projection replay, JetStream, ingress E2E. Дополнительно прошли native-launch jobs **Ubuntu, macOS и Windows** — всего 11/11 SUCCESS. Это проверки Balda; native AMD64 acceptance Broker остаётся отдельной границей.
|
||||
|
||||
Локально основной агент отревьюил весь diff из 58 файлов. Прошли полный `go test -race ./...` в штатном macOS TMPDIR, обе tagged SQL integration suites, lint, architecture, govulncheck, Goose validations, projection replay 15 раз, ingress/native MCP scenarios и build. Хэши проверенных файлов совпадают с HEAD PR. Одноразовый PostgreSQL удалён. GitHub CI завершился после локальных проверок; полный `test` job завершился 2026-10-14 14:13:40 UTC.
|
||||
|
||||
Durable admission сохраняет команду до receipt, background publication переживает NATS outage. Terminal receipts/tombstones собираются через семь дней, новые NATS budgets включаются только явно. Retry policy принадлежит `jobs/commandoutbox`, автономное восстановление ответов — `jobs/questionoutbox`; concrete wiring находится в `commandoutboxfx`.
|
||||
|
||||
Ответ и два recovery-маркера сохраняются одной SQL-операцией. Worker восстанавливает continuation без нового inbound, после receipt отдельно сохраняет cleanup controls. Ошибка cleanup не переотправляет continuation, положительный Telegram Selected следует durable admission. Late delivery binding и повтор завершённой очистки проверены. Regression использует реальный pinned webhook/runtime, production control publisher, один HTTP update и десять failure/restart случаев для callback/text; второго bot/callback после reopen нет.
|
||||
|
||||
SQLite migration **63** / PostgreSQL migration **28** требуют согласованного backup. Исторические answered-записи не переигрываются автоматически. Гарантия начинается с SQL settlement; webhook HTTP 200 означает transport intake. Сохраняются границы: один publisher на state DB, outbox pending lifetime до 24 часов, terminal dedupe семь дней. PR ещё не merged и заблокирован review; его исправления не объявляются развёрнутыми.
|
||||
|
||||
Прежняя Balda `codex/production-readiness` / `223b85ad` — отклонённый прототип, оставленный для истории. Источником текущей реализации является PR #52. PR [#8](https://github.com/baldaworks/balda/pull/8) merged 2026-09-29, PR [#12](https://github.com/baldaworks/balda/pull/12) merged 2026-10-03.
|
||||
|
||||
## Навигация и доказательства
|
||||
## Навигация
|
||||
|
||||
- [[personal/projects/balda/setup|Balda: действующая конфигурация и перезапуск]]
|
||||
- [[personal/projects/balda/balda|Balda: обзор и актуальные PR]]
|
||||
- `state/production-readiness-20261014/review-followup.json` — текущий Balda diff, self-review, проверки, PR/CI и история пересмотренных выводов.
|
||||
- `state/production-readiness-20261014/local-checks.json` — исторический прогон Broker rc.26. Его результаты по старому Balda prototype не заменяют текущий review-followup.
|
||||
- `state/production-readiness-20261014/balda-v5-reviewed-files.json` — хэши 58 проверенных файлов; полные логи лежат рядом. `balda-review-fifo-probe.log` фиксирует новый независимо воспроизведённый блокер.
|
||||
- Beads `balda-7w4` была закрыта после прежнего локального прогона в явно временной базе; после этого upstream reviewer нашёл FIFO blocker. Это не shared upstream acceptance record. Актуальный запрос на его привязку и дефект ведутся в review PR #52.
|
||||
- [[personal/plans/balda-callee-prism-plan|Архив прежнего плана]], [[personal/projects/archive/balda-reference-before-2026-10-14|архив прежней карточки и шаблонов]].
|
||||
- [[personal/projects/balda/balda|Balda: обзор]]
|
||||
- [[personal/plans/balda-callee-prism-plan|Архив прежнего плана]]
|
||||
- [[personal/projects/archive/balda-reference-before-2026-10-14|Архив прежней карточки и шаблонов]]
|
||||
|
||||
### История приёмки действующих версий
|
||||
|
||||
@@ -81,7 +57,7 @@ Native CLI обнулил оба токена и expiresAt в private cache, и
|
||||
|
||||
Итоговый `run-a1b236aaff2e3d877049cf790262ac37` той же Story завершился `succeeded`, `cleanup=done` 2026-10-14 около 08:36 UTC. Он начал сразу с implementer, без нового планового Human. На Darwin 27.0.0 / Go 1.26.9 ARM64 прошли gofmt, go vet, go test -count=1 ./..., сборка и smoke (--version, --help, greet, отсутствие имени и неизвестная команда с ожидаемым exit=2), ревью без findings, quality.json passed=true. SHA256 всех артефактов проверены. `execution_publish_artifacts` опубликовал `b5a238cd478ae89923cdbb4908c4f26fd7ddabfc` в `/Users/admin/Developer/go-cli-claude-test`, checkout чистый. Через Prism закрыты Task `eb-9840de48c9a2090fdb1b6a4f`, затем Story `eb-bae3eaa3bfcaeb17678c1bc7`; обе операции вернули completed=true, а read-only Beads подтвердил status=closed. Broker → Balda → [исходный Mattermost-тред](https://mm.qentra.top/qentra/pl/51m7gwce1pyyuebeya19wdrfqe) доставил итог: коммит опубликован, Task и Story закрыты. Это проверенный coding flow; первоначальный повтор потерянной MM-команды запускал оператор через штатный Broker retry, поэтому восстановление conversational ingress после NATS outage отдельно не объявляется проверенным. Эфемерные login URL в документации не хранить.
|
||||
|
||||
Молчание по [команде владельца](https://mm.qentra.top/qentra/pl/ae7rzayekjf9iquwx1duzs1dew) подтверждено: 2026-10-14 06:24:56 UTC Mattermost принял post, NATS вернул 503 insufficient resources, после трёх попыток ingress прекратил dispatch без ответа. История BALDA_EVENTS заняла около 1.9 ГБ при account max_store=2gb. Локальный max_store повышен до 16gb, история сохранена, Balda перезапущен. Новая ошибка запуска после этого доставлена. Повышение max_store было только восстановлением ёмкости. В локальной ветке Balda `223b85ad` теперь реализованы durable ingress outbox на AppKV, сохранение исходного envelope до публикации, повтор после рестарта, dedupe receipts, FIFO внутри сессии и ограниченные retry/retention. Для NATS добавлены отдельные бюджеты streams с резервом для Commands и отказом при попытке установить лимит ниже уже хранимых данных. После исчерпания входных retries Mattermost получает безопасный ответ в исходной теме со стабильным pending_post_id. SQLite restart, переполнение настоящего NATS и доставка через HTTP-fixture проверены. В работающий Balda эти исходники в этом прогоне не устанавливались; реальный conversational outage/recovery в Mattermost заново не запускался.
|
||||
Молчание по [команде владельца](https://mm.qentra.top/qentra/pl/ae7rzayekjf9iquwx1duzs1dew) подтверждено: 2026-10-14 06:24:56 UTC Mattermost принял post, NATS вернул 503 insufficient resources, после трёх попыток ingress прекратил dispatch без ответа. История BALDA_EVENTS заняла около 1.9 ГБ при account max_store=2gb. Локальный max_store повышен до 16gb, история сохранена, Balda перезапущен. Новая ошибка запуска после этого доставлена. Повышение max_store было только восстановлением ёмкости. Реальный conversational outage/recovery в Mattermost после этого восстановления не проверен.
|
||||
|
||||
## Конфигурация и перезапуск
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Balda — актуальный локальный запуск
|
||||
|
||||
Проверено: **2026-10-14** по работающему контейнеру, Compose, конфигурации и GitHub.
|
||||
Проверено: **2026-10-14** по работающему контейнеру, Compose и конфигурации.
|
||||
|
||||
Обзор: [[personal/projects/balda/balda|Balda]]. Broker, готовность кандидата и оставшаяся работа: [[personal/projects/balda/execution-broker|Execution Broker — текущий локальный контур]].
|
||||
|
||||
@@ -20,16 +20,6 @@
|
||||
|
||||
Config bind-mounted в `/workspace/.config/balda` read-only для контейнера; state и work доступны ему на запись. Файл `~/Developer/balda/.config/balda/config.yaml` относится к отдельному dev checkout и не управляет этим контейнером.
|
||||
|
||||
## Проверенная ветка и PR
|
||||
|
||||
[PR #52](https://github.com/baldaworks/balda/pull/52): `codex/ingress-outbox-v2`, HEAD `085a0d43`, **OPEN**, не draft; все **11/11 CI checks SUCCESS**, включая native Ubuntu/macOS/Windows. Конфликтов нет, но review — **CHANGES_REQUESTED**, merge — **BLOCKED**. PR ещё не merged и не развёрнут.
|
||||
|
||||
Локальные 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 выше.
|
||||
|
||||
Новый [review blocker](https://github.com/baldaworks/balda/pull/52#pullrequestreview-5519740284): outbox нарушает FIFO одной сессии между разными actor targets; отдельный race probe на этом HEAD воспроизвёл переупорядочивание. Исправление и ссылка на shared Beads acceptance ещё требуются. Подробности и лог — в карточке Broker.
|
||||
|
||||
PR #8 и #12 уже merged. Старые ссылки на открытые #8/#12, Kraken, Валеру и Zulip относятся к архивам.
|
||||
|
||||
## Изменения и перезапуск
|
||||
|
||||
| Изменение | Действие |
|
||||
@@ -44,7 +34,7 @@ PR #8 и #12 уже merged. Старые ссылки на открытые #8/#
|
||||
|
||||
## 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 нельзя. Документация проекта описывает управление пакетами через **Backoffice → Operations → Plugins**: Installed/Marketplaces, review exact revision, install/upgrade/enable/disable/rollback/remove. Проверять доступность поверхности на используемой версии, а не переносить команды из архивных runbooks: [plugins reference](https://github.com/baldaworks/balda/blob/main/docs/reference/plugins.md).
|
||||
|
||||
Management не сбрасывает существующие сессии. Новая сессия выбирает текущий catalog; существующая принимает capabilities через обычный `/reset`. Standalone skills также редактируются отдельно от уже закреплённого session snapshot.
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ confidence: 1
|
||||
- **Чат-транспорт:** Mattermost (сервер на Kraken: `mattermost` + `mm-postgres`). Zulip выводится
|
||||
из эксплуатации ([[personal/plans/zulip-decommission]]). Discord не используется с 2026-05-11.
|
||||
- **Hermes:** профиль `hermes-whale` (Кит) на Mac, Mattermost/Telegram. Профиль Eagle существует, кроны на паузе.
|
||||
- **Balda / Execution Broker** (сверено 2026-10-14): текущий контур на Mac, Mattermost и Codex ACP; старый Kraken-стек демонтирован. Live coding flow на прежних образах прошёл с артефактами, публикацией результата и cleanup. Новый Broker rc.26 проверен локально, но согласованное обновление и production-приёмка кандидата не выполнены; универсальная подготовка стеков, caches и inputs между запусками остаются в плане. Balda [PR #52](https://github.com/baldaworks/balda/pull/52) открыт, 11/11 CI SUCCESS, но CHANGES_REQUESTED / merge BLOCKED: воспроизведено нарушение FIFO одной сессии между ingress actor targets; acceptance в shared Beads ещё не привязан. Не merged/deployed. Подробности и ограничения: [[personal/projects/balda/execution-broker]], конфигурация: [[personal/projects/balda/setup]].
|
||||
- **Balda / Execution Broker** (сверено 2026-10-14): текущий контур на Mac, Mattermost и Codex ACP; старый Kraken-стек демонтирован. Live coding flow на прежних образах прошёл с артефактами, публикацией результата и cleanup. Новый Broker rc.26 проверен локально, но согласованное обновление и production-приёмка кандидата не выполнены; универсальная подготовка стеков, caches и inputs между запусками остаются в плане. Подробности и ограничения: [[personal/projects/balda/execution-broker]], конфигурация: [[personal/projects/balda/setup]].
|
||||
- **Virfield** (сверено 2026-10-14): Tart + SSH nodes, новая hardening-версия исправляет Lume migration и lifecycle defects; текущий кандидат ещё не live принят ([[personal/projects/virfield]]).
|
||||
- **Obsidian vault** `~/obsidian/` — жив, синхронизация через git/NAS + Syncthing; MCP — `mcpvault`.
|
||||
|
||||
|
||||
Reference in new issue
Block a user