[2026-10-14] eagle: personal/projects/balda/execution-broker.md personal/projects/balda/setup.md
This commit is contained in:
1 parent
46a2deff26
commit
56b800e927
2 files changed
+9
-7
No files matched your search
@@ -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` — отклонённый прототип; актуальный HEAD `49ce205d` находится в отдельной ветке `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 `07546cae` находится в отдельной ветке `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,17 @@
|
||||
|
||||
### Пересмотр патчей Balda после ревью — 2026-10-14
|
||||
|
||||
Старая `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 не выполнялись.
|
||||
Старая `codex/production-readiness` / `223b85ad` — отклонённый прототип. Текущая `codex/ingress-outbox-v2` в `/private/tmp/execution-broker-balda-upstream` имеет HEAD `07546caedcaa639c972cb97dd4d0e082a27f1023`. Upstream `9dcd366023105e217467510ef39582c2133ac5b9` влит merge-коммитом `09224f7e` без конфликтов и переписывания истории. Ветка на шесть коммитов впереди и не отстаёт, дерево чистое, go.mod/go.sum не менялись. Push, PR и deploy не выполнялись.
|
||||
|
||||
Локальная запись означает 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 обновлён.
|
||||
Предыдущие исправления сохранены: `8615d512` — accepted после локального сохранения независимо от NATS, семидневный GC terminal receipts/tombstones, opt-in NATS budgets и правильные outbox ownership/wiring; `1fd3e101` — replay текстового ответа и README; `49ce205d` — canonical marketplace paths и macOS tests.
|
||||
|
||||
После дополнительного ревью исправлена потеря continuation: повтор исходного provider message восстанавливает её из сохранённой `answered`-записи с тем же question-based ID/dedupe key; новое inbound ID и изменённый текст retry не заменяют ответ и не создают обычный turn. Проверены переполнение, ошибка AppKV, uncertain write и сбой до enqueue с закрытием/повторным открытием SQLite. README теперь документирует `bounded_streams`, default, env override и безопасное включение.
|
||||
Последний P1 Telegram inline исправлен в `4713490a825f5f8b8245b22bdc7b13f5c811a9bf`. Повтор сохранённого выбора тем же пользователем восстанавливает continuation из answered-записи, в том числе после рестарта и при новом callback query ID. Другой выбор или пользователь не заменяют ответ. Telegram text/inline continuations получают общий outbox через локальный named port; прямой публикации в NATS нет. Положительный Selected отправляется только после non-nil local admission receipt. Ошибки admission/ack допускают повтор с тем же question-based ID/dedupe key. Handler-тесты с реальной SQLite проверяют dispatch error, uncertain write, сбой до dispatch, NATS outage, Telegram ack error и отсутствующий порт. Fx-тест подтверждает единый dispatcher у chat, commands и Telegram questions.
|
||||
|
||||
Финальный **`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 и три отдельных повтора прошли, затем прошёл и полный финальный прогон. Этот первый сбой сохранён в отчёте, причина нагрузки не объявляется доказанной.
|
||||
Финальный `go test -race ./...` прошёл в штатном macOS TMPDIR. Прошли обе storage integration race suites (PostgreSQL на свежем одноразовом контейнере, затем удалён), lint (0 issues), architecture, govulncheck (0 reachable vulnerabilities), обе migration validations, JetStream, ingress suites и build. Test cache использовался штатно. Нативные Windows/Linux CI и GitHub checks этим локальным прогоном не объявляются выполненными. Первоначальная ошибка тестовой callback fixture исправлена; её лог сохранён вместе с финальными результатами.
|
||||
|
||||
Отчёт и все логи: `/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 не переинициализировалась.
|
||||
Отдельно обнаружены устаревшие CI selectors: projection-replay указывал execution вместо текущего jobs, ingress regex не выбирал webhook tests. Коммит `07546cae` исправляет эти команды: настоящий projection replay прошёл 15 раз, ingress job теперь проверяет все тесты четырёх пакетов. Названия required jobs сохранены.
|
||||
|
||||
Отчёт, история проверок и логи: `/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 не переинициализировалась.
|
||||
|
||||
### История приёмки действующих версий
|
||||
|
||||
|
||||
@@ -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` / `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` остаётся на прежнем образе. Выбор ветки или коммит не меняет действующий сервис.
|
||||
Broker-кандидат 2026-10-14: `0.1.0-rc.26` / `b64a1ba`, локальные проверки сохранены отдельно. Старая Balda `223b85ad` / `codex/production-readiness` отклонена после ревью четырёх дефектов; её зелёные тесты не подтверждали готовность upstream PR. Исправленная ветка `codex/ingress-outbox-v2` / `07546cae` синхронизирована merge’ем с upstream `9dcd3660` в `/private/tmp/execution-broker-balda-upstream`. Дополнительный коммит `1fd3e101` восстанавливает continuation из answered-записи при повторе исходного inbound и обновляет README; `49ce205d` исправляет macOS marketplace paths. `4713490a` восстанавливает Telegram inline continuation через общий outbox; `07546cae` исправляет устаревшие CI test selectors. Полный локальный race-gate прошёл в штатном TMPDIR, обе storage integration suites и остальные проверки прошли; подробности первого неудачного прогона и финального результата — в карточке выше. Изменения не развёрнуты, контейнер `balda-mm-mac` остаётся на прежнем образе. Выбор ветки или коммит не меняет действующий сервис.
|
||||
|
||||
_Проверено: 2026-10-09._
|
||||
|
||||
|
||||
Reference in new issue
Block a user