[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
@@ -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 после этого восстановления не проверен.
|
||||
|
||||
## Конфигурация и перезапуск
|
||||
|
||||
|
||||
Reference in new issue
Block a user