From 78dbaf975b6d82edb0b384007af16841797e361e Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Wed, 14 Oct 2026 14:40:09 +0600 Subject: [PATCH] [2026-10-14] eagle: personal/projects/balda/execution-broker.md --- personal/projects/balda/execution-broker.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/personal/projects/balda/execution-broker.md b/personal/projects/balda/execution-broker.md index b4549378..b7fce153 100644 --- a/personal/projects/balda/execution-broker.md +++ b/personal/projects/balda/execution-broker.md @@ -4,11 +4,13 @@ ## Состояние приёмки -Main и origin/main — `a3594c3`; единственный worktree чистый. Broker `execution-broker:production-a3594c3`, Gateway `execution-broker-gateway:reauth-a3594c3`; четыре macOS пакета и Linux Runner/build contexts обновлены. Native Claude issuer также обновлён. Полный `make check` прошёл; проверки Callee engine прошли для неизменившегося после 4166542 адаптера. Новые PR не создавались. +Main и origin/main — `437cbf8`; единственный worktree чистый. Broker `execution-broker:production-a3594c3` и native Claude issuer остаются на a3594c3: их исходники последним исправлением не менялись. Gateway `execution-broker-gateway:quality-437cbf8`; адаптер Callee 437cbf8 развёрнут в четырёх macOS пакетах, обоих статических Linux images и динамических build contexts. В активном broker.json закреплены реальные image IDs Linux исполнителей; все четыре macOS preflight прошли. Полный `make check` прошёл для a3594c3; для последующего изменения только Callee повторно прошёл `scripts/check-callee.sh` с `-race` на закреплённом движке и воспроизведение настоящего отчёта. Новые PR не создавались. Проверка продолжения: `run-0175c98134e42a9d912dcc2626264bcd` получил точный план из одобрения `human-1` запуска `run-3a21ab05f78f688abc923d0946728233` (SHA256 `994b9c5492136ff1710ace38aef33767658585fd597f553d74f85a3122f287dc`). Реальная macOS VM начала с implementer, без specify/design/breakdown и нового Human. Claude ответил `Authentication required`; конкретная ошибка доставлена в [Mattermost](https://mm.qentra.top/qentra/pl/s3q8k6uk8py1uqcz7ss55brpmr). Код не создан и не опубликован. -Native CLI обнулил оба токена и expiresAt в private cache, из-за чего прежний checkpoint застрял. Восстановление распознаёт этот явный результат с привязкой к аккаунту/организации: сохраняет предыдущий зашифрованный cache, отмечает необходимость входа и разрешает cleanup остановленного worker. Реальный cleanup=done подтверждён; issuer не revoked, owner освобождён, reauthentication_required=true. Новая попытка `run-3fcbd9a52b55e9c750671ea4357b705a` в той же Story `eb-bae3eaa3bfcaeb17678c1bc7` ожидает browser authentication до выделения VM. Успешное завершение Go CLI, публикация и закрытие Story пока не подтверждены. Эфемерные login URL в документации не хранить. +Native CLI обнулил оба токена и expiresAt в private cache, из-за чего прежний checkpoint застрял. Восстановление распознаёт этот явный результат с привязкой к аккаунту/организации: сохраняет предыдущий зашифрованный cache, отмечает необходимость входа и разрешает cleanup остановленного worker. Реальный cleanup=done подтверждён; issuer не revoked, owner освобождён, reauthentication_required=true. Владелец вошёл по ссылке из Mattermost; issuer подтвердил `credentials_saved` 2026-10-14 08:20:37 UTC, и `run-3fcbd9a52b55e9c750671ea4357b705a` автоматически продолжился с прежним утверждённым планом. Реализация, тесты и ревью прошли, но quality gate отклонил verifier: ACP склеил поясняющий текст с финальным JSON. Конкретная ошибка доставлена в Mattermost (`g4nbxpzff78s8e5jjwgwxoxcjo`). Исправление 437cbf8 допускает текст перед первым JSON, сохраняет исходный отчёт и по-прежнему отвергает несколько объектов, trailing content, failed и невыполненные проверки. Реальный отчёт воспроизведён исправленным шлюзом успешно. + +Итоговый `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 перезапущен. Новая ошибка запуска после этого доставлена. Это восстановление ёмкости; долговременные ограничения отдельных streams и уведомление при исчерпании ingress retries в коде Balda этим изменением не реализованы.