Files
obsidian-vault/personal/projects/balda/execution-broker.md
T

13 KiB
Executable File
Raw Blame History

Execution Broker — историческая эксплуатация

[!important] Текущий статус — 2026-10-19 Прежние MCP execution-broker и execution-prism отсутствуют в runtime основного Balda, plugin execution-broker выключен. Оригинальные prism/prism-callee 0.7.0 включены. Доступом управляют отдельные SSH Manager и Workspace Manager; актуальные версии, пути и границы приёмки: personal/projects/balda/setup. Нижеследующие комплекты, workflows и результаты — датированный архив 2026-10-16/18, а не текущая конфигурация Balda. Состояние старых отдельных Broker services этой сверкой не перепроверялось.

Архив прежнего контура

[!important] Граница нового брокера — 2026-10-18 Текущий план: personal/plans/balda-remote-agent. Штатный generic_acp Balda уже передаёт ACP по SSH; собственный ACP-транспорт для проверенного пути не требуется. Ветка broker-rebuild начата с пустого дерева; в ней пока README, новой реализации нет. На дату 2026-10-18 старые MCP и plugin ещё оставались подключены; текущий статус приведён выше. Сведения о версиях, workflow и прежней приёмке ниже — исторический срез 2026-10-16; установка Balda обновлена в personal/projects/balda/setup.

Проверено: 2026-10-16 по GitHub, исходникам, работающим контейнерам, binary hashes, MCP и сохранённому state. Broker и Virfield очищены от планов и персональных журналов в tracked файлах; актуальная установка и приёмка ведутся в Obsidian.

Развёрнутый комплект

Компонент Фактически установленное состояние
Broker Git /Users/admin/Developer/execution-broker, только main; local HEAD и GitHub 13c29ac6ccb3ec59cb7fa4d824bdfb350bf540e6, checkout чистый
Broker 0.1.0-rc.34, image sha256:04ff684bf5b051e15ff603e7cd4a8adba35a000b8b222205b197549f54b1695e; binary сверён с source 13c29ac
Prism execution-prism-adapter 0.1.0-rc.34, image sha256:2683c10db981f4b1912b372a48f8175e751fe5de30c2282390fb345fdeb533aa; код adapter находится в том же Broker repo/main
Gateway execution-worker 0.1.0-rc.34, image sha256:35b442404db5da72907936a57798d18491d54c0bbf6423f4969f18cc6b388e5c; новые Runner/Callee также вложены в оба image-build contexts
Native credential issuers Все три binary из Broker 13c29ac, rc34; прежние launchd definitions, vault и токены сохранены
Callee Последний проверенный upstream 95f7f1105489f26d0aa24c4b9b76296b34c503c7; Broker adapter и security override x/net v0.60.0, Go 1.26.9
Оба Balda Чистый upstream 3a58254bb05747fdeecde070b1828e770ed589a4, image sha256:ee0567594b8f8422d71b3bb37aa47ef1222b089af6b24e17d50ac9c63a4ef22f, без локальных патчей; personal/projects/balda/setup
Linux images Smoke sha256:2b82611cb0f35b1be006faadcad05eed558e675576cc00ecccaeb9d43cac2f81; OpenCode/DeepSeek sha256:526ee8382465e8f5fe3e9c55d78b3b62dff83cc8e1085c8b6f7935d2aba7848c; Codex sha256:cdce756babb910ac141ad926b2297d25784532d069ec774a8321a23d4e4ecd92; dynamic Claude sha256:a785411160b4384887654c2179cb19d92bf9ff91e1c5f5d60ccccf8ad1c1ba87. Во всех четырёх фактические Runner/Callee bytes сверены с latest builds
macOS bootstrap Все четыре profiles указывают на новые *-rc34-13c29ac.tar.gz; Runner/Callee hashes проверены. Provider runtimes и согласованные workflow policies сохранены
Virfield Опубликованный stable Latest и установленная версия — v2.1.1, source 2c64888. Точный пакет прошёл direct native VM и полный Broker/XCTest; публичные archive/SHA256SUMS скачаны без авторизации и сверены побайтно; personal/projects/virfield
Release archives Broker Исторически принятые rc33 из ae92c15 сохранены в dist/, четыре native targets проверены. Текущий production rc34/13c29ac новее; GitHub Release Broker не публиковался

Broker, gateway и workers имеют согласованные immutable pins. macOS profiles используют macos27; роли Codex — pack b09f2be2, Claude/OpenCode — собственный 1b8b5ded. Нельзя подставлять workflow Codex в OpenCode image.

Проверка обновления

  • Broker make check (race/vet/scripts), Callee adapter/race, полный Balda race/lint, managed plugin lifecycle и native wait restart прошли на новых исходниках.
  • Два production Balda независимо прошли authenticated discovery: 26 Broker tools и 5 Prism tools; execution_profiles доступен из обеих network namespaces.
  • Exact deployed Linux smoke image прошёл настоящий Callee → fixed Human → restart → пять артефактов → cleanup, включая non-root, read-only root, cap-drop и отсутствие bind mounts/Docker socket. Это изолированный fixture без production provider credentials и сообщений.
  • Новый Claude image построен штатным resolver развёрнутого gateway; provider calls и worker start не выполнялись. Binaries всех четырёх Linux profiles совпадают с latest source builds.
  • Сохранены все 2277 прежних событий основного Balda, 49 session metadata/bindings, provider sessions, home volumes, environment values, config hashes и auth. Изменение порядка Env при recreate не является изменением значений.
  • Все три Broker credential identity остались свободными, checkpointed/unrevoked: Claude generation568, Codex172, DeepSeek217. Account login/revoke/rotation не выполнялись.
  • Новый macOS run run-aadbbadcbb508f6473a3574ae700eef3 завершился до bootstrap/workload: guest_keychain_failed, затем cleanup=done; lease released. Повторная прямая диагностика локализовала launchctl bootstrap собственного GUI-agent, exit5. Её private logs сохранены, диагностическая VM released. Исправленный кандидат прошёл отдельную fresh VM и новый полный Broker/XCTest run run-3b679ccc08ae5aafb94643d60f0410dd: 1/1 XCTest, настоящий xcresult, все заново скачанные артефакты сверены по SHA256, Story closed, cleanup=done и lease released. Исходный failed run сохранён как отказ; его тестовая Story закрыта с причиной архивирования.
  • Virfield main 2c64888 прошёл GitHub CI на macOS/Linux: race/make check/build, Staticcheck, module verify, Govulncheck и Linux gitleaks. Установленный свежий MCP сообщает 2.1.1: 20 tools/4 resources, authenticated status, девять исходных образов, ноль workers/jobs. Уже запущенные адаптеры других чатов принудительно не перезапускались.
  • Финальная проверка пяти production services: точные новые image IDs и binary hashes, health200, ноль Broker runs с незавершённым cleanup; issuer generations568/172/217 сохранены.
  • После публикации повторно сверены последние upstream heads Balda/Callee/Broker/Virfield и работающие images/binaries пяти сервисов. Установленные Virfield binaries/browser совпадают с проверенным подписанным stage; опубликован исходный пакет с тем же SHA256. Планы и личные журналы остаются в Obsidian, source checkout чистый.
  • GitHub Actions для Broker main не запустил ни одного шага: account billing/spending-limit rejection. Локальные gates прошли; удалённый CI не объявляется зелёным.

Доказательства текущего обновления: state/main-production-sync-20261016/: production-deployment.json, prepared-deployment.json, all-linux-runtime-provenance.json, linux-worker-integration.json, live-baldda-mcp.json, virfield-candidate-upgrade.json, macos-readiness-diagnostic/finding.json, macos-candidate-production-verification.json, virfield-installed-mcp-2.1.1.json, virfield-fix-github-ci.json, live-final-health.json, virfield-v2.1.1-publication-verification.json, post-publication-runtime-verification.json, upstream-heads-after-publication.json.

Границы приёмки

Предыдущая приёмка закрыта в явном согласованном режиме «Да, закрыть в проверенном режиме». Beads Story eb-71b7971ac3fdd03b8ff6b198 и все дочерние задачи closed. Производственные Story, отмена, restart, sandbox/write denial, артефакты, controlled provider refusals и protected working-account recovery приняты в своих dated receipts.

Реальный upstream revoke рабочих авторизаций и последующий browser login исключены владельцем и остаются непроверенными. Linux provider-failure checks не доказывают macOS failure lifecycle. Post-upgrade macOS preparation failure и успешный новый XCTest на пакете опубликованного v2.1.1 учитываются отдельно выше; исторические результаты не подменяют свежую проверку.

План и решение о границах: personal/plans/balda-callee-prism-plan. Старые подробные результаты: personal/projects/archive/broker-before-main-deployment-2026-10-16. Удалённые из Git планы/журналы сохранены и сверены здесь: personal/projects/archive/execution-broker-repo-cleanup-2026-10-16/index. В product repo остаются контракты и инструкции.

Конфигурация и восстановление

Приватный Compose: state/deploy/compose.production.json; broker.json, worker.json, токены и assets находятся в state/deploy/, вне tracked Git. Образы и bootstrap выбираются по конкретным immutable pins, а не по случайному Git HEAD.

Перед обновлением проверены ноль активных Broker runs/cleanup и свободные identities. Согласованный private snapshot: state/main-production-sync-20261016/coordinated-stack-snapshot/; отдельные Balda homes/configs и прежние native issuers — в active-deployment-before/. SHA256 и SQLite integrity/foreign-key checks прошли. Не восстанавливать старые OAuth caches поверх более новых без fencing.

Независимое восстановление трёх рабочих identity без Mac/Keychain принято ранее: зашифрованные original master keys, matching vault и private GPG recipient сохранены на HTPC вне lease workspace (0700/0600), все три read-only provider API ответили HTTP200, временные plaintext key-files удалены. Retained restore runtime — исходный rc33 d296c73. Приватные receipts: state/broker-acceptance-20261016/offhost-working-restore-verification.json, offhost-before-final-lease-release.json.

Контракты: docs/protocol.md, docs/support.md, docs/operations.md, docs/recovery.md, docs/executors.md; work plan теперь в Obsidian.