[2026-10-14] eagle: personal/projects/balda/execution-broker.md personal/projects/balda/setup.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-14 17:52:59 +06:00
1 parent 5ec2a8a955
commit 4d266fe1c0
2 files changed
+7 -7

No files matched your search

+6 -6
View File
@@ -4,7 +4,7 @@
## Состояние приёмки
`main` и `origin/main` Broker остаются на `437cbf8`. Локальный кандидат `0.1.0-rc.26` зафиксирован в `codex/production-readiness` на `b64a1ba83c82475b08276ea3fb6a54c99d4a1509`. Смежные исправления Balda — отдельная ветка `codex/production-readiness` на `223b85ad213f77edebd452147d0058588813fe6c`, checkout `/private/tmp/execution-broker-balda-production`. Кандидат не развёрнут и не опубликован; новых PR нет. Указанная Balda `223b85ad` — отклонённый прототип; актуальное исправление `8615d512` находится в отдельной ветке `codex/ingress-outbox-v2`, см. пересмотр после ревью ниже.
`main` и `origin/main` Broker остаются на `437cbf8`. Локальный кандидат `0.1.0-rc.26` зафиксирован в `codex/production-readiness` на `b64a1ba83c82475b08276ea3fb6a54c99d4a1509`. Смежные исправления Balda — отдельная ветка `codex/production-readiness` на `223b85ad213f77edebd452147d0058588813fe6c`, checkout `/private/tmp/execution-broker-balda-production`. Кандидат не развёрнут и не опубликован; новых PR нет. Указанная Balda `223b85ad` — отклонённый прототип; актуальный HEAD `49ce205d` находится в отдельной ветке `codex/ingress-outbox-v2`, см. пересмотр после ревью ниже.
Действующий Broker — `execution-broker:production-a3594c3`, gateway — `execution-broker-gateway:quality-437cbf8`, Prism — `execution-prism-adapter:session-fix-20261004`. Сверка обнаружила drift: `broker.json` и `worker.json` выбирают разные immutable images для `linux-smoke` и `linux-opencode-deepseek`; три coding-профиля worker.json по-прежнему содержат Docker socket/group. В исходниках rc.26 этот доступ запрещён, а несовпадение image pin отклоняется до выделения worker с освобождением недоставленного credential. До применения кандидата старый работающий контур этих защит не получает. macOS bootstrap-пакеты и dynamic build contexts также требуют согласованного обновления Runner/Callee/config/workflow pins. Проверки из предыдущей приёмки ниже относятся к прежним развёрнутым версиям.
@@ -24,15 +24,15 @@
### Пересмотр патчей Balda после ревью — 2026-10-14
Старая `codex/production-readiness` / `223b85ad` не готова к upstream PR. Подтверждены четыре дефекта: transient error после durable admission; отсутствие GC receipts/expired records; несовместимые новые NATS caps по умолчанию; outbox policy/wiring в неверных владельцах. Прошедшие ранее тесты эти случаи не покрывали и не подтверждали готовность PR.
Старая `codex/production-readiness` / `223b85ad` — отклонённый прототип. Текущая `codex/ingress-outbox-v2` в `/private/tmp/execution-broker-balda-upstream` содержит три локальных коммита поверх upstream `875d78eefd846ea2d54db37260409f412ed9c42f`: `8615d512` (outbox), `1fd3e101` (continuation и README), `49ce205d` (marketplace symlink paths). go.mod/go.sum не менялись, рабочее дерево чистое. Push, PR и deploy не выполнялись.
Исправления подготовлены отдельно в `/private/tmp/execution-broker-balda-upstream`, ветка `codex/ingress-outbox-v2`, коммит `8615d512be017aab7d11921e33f31ede89416852` прямо поверх свежего upstream `875d78eefd846ea2d54db37260409f412ed9c42f`. Старый merge и дублирующие upstream обновления Go/x/net не перенесены; go.mod/go.sum относительно upstream не менялись.
Локальная запись означает accepted независимо от NATS; publisher повторяет исходный envelope. Terminal receipts/expired tombstones удаляются через семь дней, pending не удаляются GC. NATS budgets включаются явно через `balda.nats.bounded_streams: true`; обычное обновление прежних caps не меняет. Policy принадлежит `jobs/commandoutbox`, state/bus wiring — `commandoutboxfx`; архитектурный enforcement обновлён.
Теперь локальная запись означает accepted независимо от NATS; pending duplicate возвращает тот же admission receipt, а publisher повторяет исходный envelope. Terminal receipts/expired tombstones удаляются после семи дней, payload в terminal не сохраняется; pending GC не удаляет. NATS budgets включаются только `balda.nats.bounded_streams: true`, по умолчанию прежние caps сохранены. Outbox принадлежит `jobs/commandoutbox`; отдельный `commandoutboxfx` связывает локальные порты chat/command ingress с AppKV и bus. Обновлены `.go-arch-lint.yml`, configuration/operations и архитектурная документация.
После дополнительного ревью исправлена потеря continuation: повтор исходного provider message восстанавливает её из сохранённой `answered`-записи с тем же question-based ID/dedupe key; новое inbound ID и изменённый текст retry не заменяют ответ и не создают обычный turn. Проверены переполнение, ошибка AppKV, uncertain write и сбой до enqueue с закрытием/повторным открытием SQLite. README теперь документирует `bounded_streams`, default, env override и безопасное включение.
Целевые race-регрессии, lint, architecture и build прошли. Полный тестовый прогон со штатным macOS TMPDIR выявил `TestBackofficePluginsRuntimeContracts`: тот же сбой воспроизведён на чистом upstream, а с `TMPDIR=/private/tmp` этот тест проходит. Полный повтор `TMPDIR=/private/tmp go test -race -timeout 8m ./...` прошёл. Финальные lint и architecture также прошли. Штатный macOS TMPDIR по-прежнему воспроизводит отдельный upstream plugin-дефект; безусловно зелёный default-environment gate не заявляется. Оба результата и чистый baseline сохранены в `/Users/admin/Developer/execution-broker/state/production-readiness-20261014/review-followup.json` и соседних логах. Рабочий Balda не обновлялся, ветка не опубликована.
Финальный **`go test -race ./...` прошёл в штатном macOS TMPDIR**, без `TMPDIR=/private/tmp` workaround. Причина исходных plugin/catalog failures устранена: discovery вычисляет relative path относительно canonical root, тесты сравнивают canonical paths. Отдельный symlink-root regression до исправления падал, после него проходит. Lint (0 issues), architecture, govulncheck (0 reachable vulnerabilities), build и обе tagged race integration suites SQLite/PostgreSQL прошли. Первый полный прогон дополнительно поймал MCP shutdown timeout; baseline и три отдельных повтора прошли, затем прошёл и полный финальный прогон. Этот первый сбой сохранён в отчёте, причина нагрузки не объявляется доказанной.
Beads `balda-7w4` переоткрывалась после ревью и закрыта заново только после исправлений и полного повторного прогона с указанным TMPDIR. Это локальная временная база, не доказательство общей готовности PR. CLI существует по абсолютному пути `/private/tmp/execution-broker-native-tools/bd`; обычная команда `bd` не установлена в PATH. Существующая проектная база не содержит issue_prefix; её переинициализация/переименование не выполнялись.
Отчёт и все логи: `/Users/admin/Developer/execution-broker/state/production-readiness-20261014/review-followup.json`. Beads `balda-7w4` закрыта после финальных проверок в явно локальной временной базе; это не shared task и не подтверждение независимого PR review. CLI: `/private/tmp/execution-broker-native-tools/bd`, в PATH не установлен; проектная база без issue_prefix не переинициализировалась.
### История приёмки действующих версий
+1 -1
View File
@@ -2,7 +2,7 @@
Execution Broker, Telegram-одобрения и текущая приёмка: [[personal/projects/balda/execution-broker|Execution Broker — текущий локальный контур]].
Broker-кандидат 2026-10-14: `0.1.0-rc.26` / `b64a1ba`, локальные проверки сохранены отдельно. Старая Balda `223b85ad` / `codex/production-readiness` отклонена после ревью четырёх дефектов; её зелёные тесты не подтверждали готовность upstream PR. Исправленная ветка `codex/ingress-outbox-v2` / `8615d512` подготовлена на свежем upstream в `/private/tmp/execution-broker-balda-upstream`; актуальные проверки и ограничения — в карточке выше. Изменения не развёрнуты, контейнер `balda-mm-mac` остаётся на прежнем образе. Выбор ветки или коммит не меняет действующий сервис.
Broker-кандидат 2026-10-14: `0.1.0-rc.26` / `b64a1ba`, локальные проверки сохранены отдельно. Старая Balda `223b85ad` / `codex/production-readiness` отклонена после ревью четырёх дефектов; её зелёные тесты не подтверждали готовность upstream PR. Исправленная ветка `codex/ingress-outbox-v2` / `49ce205d` подготовлена на upstream `875d78ee` в `/private/tmp/execution-broker-balda-upstream`. Дополнительный коммит `1fd3e101` восстанавливает continuation из answered-записи при повторе исходного inbound и обновляет README; `49ce205d` исправляет macOS marketplace paths. Полный локальный race-gate прошёл в штатном TMPDIR, обе storage integration suites и остальные проверки прошли; подробности первого неудачного прогона и финального результата — в карточке выше. Изменения не развёрнуты, контейнер `balda-mm-mac` остаётся на прежнем образе. Выбор ветки или коммит не меняет действующий сервис.
_Проверено: 2026-10-09._